spring boot environmentaware接口实现环境变量读取和属性对象的绑定
2017-08-15 09:05
1111 查看
其实获取系统变量有一种非常简单的方法,直接一行代码搞定,代码为:
咱们这里介绍凡是被spring管理的类,实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时,获取到系统环境变量和application配置文件中的变量。
其中application.properties文件信息是:
@Controller @Service 等被Spring管理的类都支持,注意重写的方法 setEnvironment 是在系统启动的时候被执行。
或者如下Controller:
我们还可以通过@ConfigurationProperties 读取application属性配置文件中的属性。
· @ConditionOnClass表明该@Configuration仅仅在一定条件下才会被加载,这里的条件是Mongo.class位于类路径上
· @EnableConfigurationProperties将Spring Boot的配置文件(application.properties)中的spring.data.mongodb.*属性映射为MongoProperties并注入到MongoAutoConfiguration中。
· @ConditionalOnMissingBean说明Spring Boot仅仅在当前上下文中不存在Mongo对象时,才会实例化一个Bean。这个逻辑也体现了Spring Boot的另外一个特性——自定义的Bean优先于框架的默认配置,我们如果显式的在业务代码中定义了一个Mongo对象,那么Spring Boot就不再创建。
它就是以spring.data.mongodb作为前缀的属性,然后通过名字直接映射为对象的属性,同时还包含了一些默认值。如果不配置,那么mongo.uri就是mongodb://localhost/test。
以上这个配置需要加入依赖:
或者如下Controller:
· @EnableConfigurationProperties将Spring Boot的配置文件(application.properties)中的spring.data.mongodb.*属性映射为MongoProperties并注入到MongoAutoConfiguration中。
· @ConditionalOnMissingBean说明Spring Boot仅仅在当前上下文中不存在Mongo对象时,才会实例化一个Bean。这个逻辑也体现了Spring Boot的另外一个特性——自定义的Bean优先于框架的默认配置,我们如果显式的在业务代码中定义了一个Mongo对象,那么Spring Boot就不再创建。
以上这个配置需要加入依赖:
相关文章推荐
- Spring Boot 环境变量读取 和 属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定
- 24. Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
- Spring Boot 环境变量读取 和 属性对象的绑定
- 24. Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
- Spring Boot 环境变量读取 和 属性对象的绑定
- SpringBoot19 之环境变量读取和属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定 RelaxedPropertyResolver
- Spring Boot 环境变量读取 和 属性对象的绑定
- 24. Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
- Spring Boot 环境变量读取 和 属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定
- (24)Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
- Spring Boot 环境变量读取 和 属性对象的绑定
- (24)Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
- Spring Boot 环境变量读取 和 属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定
- SpringBoot19 之环境变量读取和属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定
- Spring Boot 环境变量读取 和 属性对象的绑定