- Spring Profile
- 条件化的bean声明
- 自动装配与歧义性
- bean的作用域
- Spring的语言表达式
一、环境与Profile
为了区分环境,引入了profile bean;
首先定义一个类:
@Configuration相当于XML中的Beans,@Bean相当于XML中的Bean
@Configuration
@Profile("dev")
public class DevelopmentProfileConfig{
@Bean
public DataSource dataSource(){
return new XXXXXBuildr()
.setType()
.setUserName()
.setpassword()
.build();
}
}
在XMl中也是可以进行对应的配置的:
<beans profile="dev">
<bean>
</beans>
</beans>
<beans profile="prod">
<bean>
</beans>
</beans>
那么问题来了,我们应该怎么样去激活某个profile呢?
其实这需要两个独立的属性:spring.profile.active和spring.profile.default
如下的几个途径可以设置哦:
- 作为DispatcherServlet的初始化参数;
- 作为web应用的上下文参数;
- 作为JNDI条目
- 作为环境变量
- 作为JVM的系统属性
- 在集成测试类上,可以使用@ActiveProfile注解设置