Spring Boot 读取配置文件
Spring Boot 读取配置文件
Spring Boot 读取配置文件有两种方式:
- 加载多个
@ConfigurationProperties(xxx)
- 加载单个
@Value("${xxx}")
废话不多说,直接上例子
加载多个配置项信息
1、在springboot项目里的yml添加信息
custom:
name: xxx
url: 192.168.0.168
app-version: 0.2
2、创建配置类
@Component
@ConfigurationProperties(prefix = "custom-config")
@Data
@ToString
public class CoustomConfig {
private String name;
private String url;
private String version;
}
3、测试
@SpringBootTest
public class DemoTest {
@Autowired
private CoustomConfig coustomConfig;
@Test
public void test01(){
System.out.println(coustomConfig.toString());
}
}
结果:
加载单个配置项信息
1、添加项目端口信息
server:
port: 8089
2、获取配置信息,并测试
@SpringBootTest
public class DemoTest {
@Value(value = "${server.port}")
private String port;
@Test
public void test02(){
System.out.println(port);
}
}
结果:
扩展:
- springboot加载默认配置文件会有优先级。
- 所有的配置文件spring都会读取,相互之间不会排斥,但是会覆盖。
- 相同配置项,高优先级配置文件的内容会覆盖低优先级的配置,低优先级配置不会生效。
小总结:
1、使用@ConfigurationProperties
需要搭配@Component
来使用
2、使用@Value
时,需要注意${}
。
3、@ConfigurationProperties
支持松散绑定。-
,_
会根据pojo自动转换驼峰,例如:app-version
绑定时会转换成appVersion
,或者会转换成appversion
。