版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kikajack/article/details/85542501
Spring Boot 采用的“默认大于配置”的原则,即使没有配置,也可以使用默认配置正常启动应用。
各种格式的配置文件
默认全局配置文件的文件名是 application,常见的有 application.properties
、application.yml
(YAML 格式)、application.xml
(XML 格式),
application.properties 示例:
server.port=8081
application.yml 示例:
server:
port: 8081
application.xml 示例:
<server>
<port>8081</port>
</server>
类中引入配置文件
要通过 @ConfigurationProperties
注解使用配置文件,需要先 导入依赖,IDEA 会很智能的在自动导入依赖失败时,弹出 Spring 提示的相关文档信息,根据提示操作即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
编写配置文件
server:
port: 8081
person:
name: kika
age: 83
maps:
key1: v1
key2: 2
lists:
- zhangsan
- lisi
- wangwu
birth: 2011/01/01
dog:
name: dd
age: 2
编写 Bean 类读取配置文件
@ConfigurationProperties(prefix = "person")
注解将当前类中的所有属性跟配置文件绑定,可以通过参数 prefix 指定前缀。
@Component
注解将当前类添加到 Spring 容器中,从而可以使用容器的各种功能。
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Date birth;
private Map<String, Object> maps;
private List<Object> lists;
private Dog dog;
@Override
public String toString() {
return "Person{" +
"name=" + name +
", age=" + age +
", birth=" + birth +
", maps=" + maps +
", lists=" + lists +
", dog=" + dog +
"}";
}
//... getter/setter 方法
编写单元测试
在 /src/test/java/包名 下面,有 XXApplicationTests 测试类。借助测试类,可以方便的注入。
通过这个测试类来检查刚才的配置是否加载成功:
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoQuickApplicationTests {
@Autowired
Person person; // 自动关联到这个类
@Test
public void contextLoads() {
System.out.println(person); // 测试输出
}
}
测试文件写完后,右击运行即可执行测试,查看控制台的输出即可。