在spring中,@Bean和@Qualifier都是标识spring容器产生的bean的,@Bean在springboot中以java配置的方式注册bean的时候使用,@Qualifier既可以在注册Bean时使用,也可以在注入bean时使用,@Autowired和@Resource都是在注入Bean的时候使用,那他们有什么联系与区别呢?
先看结论。。。。。。。。
@Bean和@Qualifier的区别
- @Qualifier既可以使用自己的标识符,也可以使用@Bean的标识符
- @Bean只能使用自己的标识符
先说一下什么是标识符?
标识符是bean在spring容器中的唯一标识,@Bean默认是注册bean的方法名,也可以通过指定@Bean的name属性来自定义标识符。@Qualifier默认是使用自己自定义的限定符,在注册Bean的时候如果没有设置,则默认使用@Bean的标识符。