spring enviroment:
enviroment包含2个概念: profile 和 properties
profile:支持不同环境下支持不同的bean注册。
properties:表示数据源属性。
1、Profile注解:
当对应名称的Profile激活,标记有对应@Profile bean才能注册到容器中,设置容器激活Profile的方法:
【1】可以通过enviroment对象,setActiveProfile()方法来设置。
【2】环境变量 --spring.profiles.active= 来指定。
spring支持多个profiles同时激活,如上面2种方式分别通过如下方式指定多个profiles
setActiveProfiles(),
--spring.profiles.active=test,pro :
Profile 传递:
在@Configuration标记的类上,标记@Profile,则所有方法@Bean或者@Import导入的类都会被传递为该Profile,除非该Profile激活,不然所有的Bean都不会激活。
2、properties 属性源
spring StandardEnvironment是由两个PropertySource对象所组成的,
【1】、一个代表的是JVM的系统属性(可以通过System.getProperties()来获取)。
【2】、而另一种则是系统的环境变量(通过System.getenv()来获取)。
系统属性的优先级高于系统环境变量的优先级。