Springbootユニットテストymlファイルの読み取り
18810 ワード
pomファイル構成
ymlファイル構成
クラスの構成
ユニットテストクラス
なお、ymlファイルからjson文字列を読み込む場合は、コンフィギュレーションクラスでJSONObjectタイプを指定する必要がありますが、yml形式のリストにmap形式が含まれているように構成することもできます.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- @ConfigurationProperties -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.40</version>
</dependency>
</dependencies>
<build>
<finalName>java-noob</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
ymlファイル構成
service:
applyList: [{"fruit":"apple","interest":"hisrory"},{"fruit":"orange","interest":"music"}]
クラスの構成
@Component
@ConfigurationProperties(prefix = "service")
public class Service
{
@Getter
@Setter
private JSONObject bannerPicList = new JSONObject(true);
@Override
public String toString()
{
return "Service{" +
"applyList='" + applyList+ '\'' +
'}';
}
}
ユニットテストクラス
@RunWith(SpringRunner.class)
@SpringBootTest
public class JavaNoobApplicationTests
{
@Autowired
private Service service;
@Test
public void contextLoads()
{
System.out.println(service);
}
}
なお、ymlファイルからjson文字列を読み込む場合は、コンフィギュレーションクラスでJSONObjectタイプを指定する必要がありますが、yml形式のリストにmap形式が含まれているように構成することもできます.