profile与项目环境
使用profile根据环境创建bean,常用的情景是数据库的配置。
一、配置方式1.在JavaConfig中配置 1.1在类上配置,生产环境不是"dev"的时候整个类的bean都不会创建1.2在类方法上,如果存在某个bean上无profile的话这个bean始终都会被创建
2.在XML中配置
2.1环境范围在整个配置文件,会存在别的配置文件 2.2环境范围在配置文件内,在beans内部嵌套beans配置 二、激活方式·通过两个属性确定哪个环境激活:spring.profiles.active、spring.profiles.default如果设置了spring.profiles.active,它将用来确定哪个profile激活;如果没active就根据default判断,两个都没有只会创建那些没有定义profile的bean在哪里设置这两个属性?
1.作为DispatcherServlet的初始化参2.作为web应用的上下文参数
3.作为JNDI条目
4.作为JVM的系统属性5.集成测试类上可使用@ActiveProfiles注解
三、条件化的bean
Conditional注解中类需要实现Condition接口,重写matches方法,返回值为真时创建bean,为假时不创建bean。
AnnotatedTypeMetadata则能够让我们检查带有@Bean注解的方法上还有什么其他的注解。@Bean注解的方法上其他注解的属性