5、Spring 配置其他注解
(1)扩展:@Primary注解用于标注相同类型的Bean优先被使用权,@Primary是Spring3.0引入的,与@Component和@Bean一起使用,标注该Bean的优先级更高,则在通过类型获取Bean或通过@Autowired根据类型进行注入时会选用优先级更高的
@Repository("userDao") public class UserDaoImpl implements UserDao{} @Repository("userDao2") @Primary public class UserDaoImpl2 implements UserDao{}
(2)扩展:@Profile 注解的作用同于xml配置时学习profile属性,是进行环境切换使用的
<beans profile="test">
注解 @Profile 标注在类或方法上,标注当前产生的Bean从属于哪个环境,只有激活了当前环境,被标注的Bean才能被注册到Spring容器里,不指定环境的Bean,任何环境下都能注册到Spring容器里
可以使用以下两种方式指定被激活的环境:
- 使用命令行动态参数,虚拟机参数位置加载-Dspring.profiles.active=test
- 使用代码的方式设置环境变量 System.setProperty("spring.profiles.active","test”);