spring容器装配bean方式
1.组件扫描
使用@componentScan使用组件扫描的方式(默认扫描当前包及其子包路径下使用了Spring注解的类,发现这些类并创建bean对象),可以自动配置包扫描,默认是单例模式。
2.自动装配
使用@Autowired进行自动装配(可以使用实例变量或方法上),会在需要依赖关系时,从spring容器中找到这个bean,使其依赖关系成立
3.java代码装配bean
使用@configation和@bean注解就可以实现
4.xml形式的装配
声明一个bean标签和ref引用标签
5.配置profile bean来实现不同环境使用不同的配置(与maven的profile配置实现不同环境读取不同配置)
application-dev.properties对应开发环境
application-test.properties对应测试环境
application-prod.properties对应生产环境
application.properties中填写spring.profiles.active=@activatedProperties@,这里的@activatedProperties@是一个变量对应pom文件里的环境配置。
--------------------------------------------------------------------------------------------------------在pom文件里分别配置好不同环境的文件名称,注意dev中的dev与配置文件名称application-dev.properties要一致
activatedProperties名称对应application.properties配置文件中的spring.profiles.active=@activatedProperties@
当maven打包时会用pom文件里dev中的值替换掉application.properties配置文件中的@activatedProperties@
maven配置profiles,配合打包的maven插件使用
---------------------------------------------------------------------------------------------------------
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<activatedProperties>dev</activatedProperties>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 原名:daily -->
<id>test</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<activatedProperties>daily</activatedProperties>
</properties>
</profile>
<profile>
<id>prestate</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<activatedProperties>pre</activatedProperties>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<activatedProperties>prd</activatedProperties>
</properties>
</profile>
</profiles>
---------------------------------------------------------------------------------------------------
springboot配置profile使用@profile注解+配置文件application.properyies指明使用配置spring.profiles.active=dev
5.条件化Bean
使用@conditional注解,