Spring注解(三):自动装配
13、自动装配:
【13-1】@Autowired:自动注入(推荐使用);可以在构造器(如果组件只有一个有参构造器,这个有参构造器的@Autowired可以省略,参数位置的组件还是可以自动从容器中获取)、参数、方法(一般标注在SET方法上)、属性中使用
①默认优先按照类型去容器找对应的组件
②如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找
③默认情况下自动装配一定要将属性赋值好,没有就会报错;可以使用required=false来修改
【13-2】@Qualifier:指定装配的组件
【13-3】@Primary:默认使用首选的bean,但可以被@Qualifier覆盖
【13-4】@Resource[java规范的注解]:可以实现@Autowired的效果,默认是按照组件名称进行装配,但不能支持@Primary和@Autowired(required=false)功能
【13-5】@Inject[java规范的注解]:需要导入javax.inject包,可以实现@Autowired的效果,但没有@Autowired(required=false)功能
【13-6】@Profile:Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能
①使用命令行动态参数:在虚拟机参数位置加载
-Dspring.profiles.active=test
②使用代码:创建一个applicationContext;设置需要激活的环境;注册主配置类;启动刷新容器
还没有评论,来说两句吧...