Spring Boot的属性配置
Spring会从属性源获取属性值,然后将其聚合到一个数据源中,通过这个源将属性值注入到Spring的Bean中。
Spring支持从以下属性源中获取属性值
- JVM系统属性
- 操作系统环境变量
- 命令行参数
- 应用属性配置文件
下图说明了各个属性源的属性是如何经过Spring的环境而后注入到Spring Bean中的,
Spring Boot通过自动装配从而在Spring 的上下文中装配带有默认属性的Bean
我们可以通过修改属性源从而影响Spring Boot自动装配的属性值。
以修改嵌入式Servlet的端口监听为例
1.通过配置文件(properties or YAML)
server.port=9090
2.命令行参数
java -jar coreqi-0.0.1-SNAPSHOT.jar --server.port=9090
3.操作系统环境变量
export SERVER_PORT=9090
⒈将配置注入到Bean
为了支持配置属性的注入,Spring Boot 提供了@ConfigurationProperties注解,将其放到Spring Bean上之后,它就会为该Bean中那些能够根据Spring环境注入值的属性赋值。
为了支持配置属性的注入,Spring Boot 提供了@Value注解。