在spring中,@Bean和@Qualifier都是标识spring容器产生的bean的,@Bean在springboot中以java配置的方式注册bean的时候使用,@Qualifier既可以在注册Bean时使用,也可以在注入bean时使用,@Autowired和@Resource都是在注入Bean的时候使用,那他们有什么联系与区别呢?
先看结论。。。。。。。。
@Bean和@Qualifier的区别

  1. @Qualifier既可以使用自己的标识符,也可以使用@Bean的标识符
  2. @Bean只能使用自己的标识符

先说一下什么是标识符?
标识符是bean在spring容器中的唯一标识,@Bean默认是注册bean的方法名,也可以通过指定@Bean的name属性来自定义标识符。@Qualifier默认是使用自己自定义的限定符,在注册Bean的时候如果没有设置,则默认使用@Bean的标识符。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐