@Primary之间的差Vs @Autowired @Qualifier与注解

Maciaz:

所以,如果我理解正确的,都是以确定其自动装配豆如果有多个候选的方式。那么究竟是什么区别?

安德烈亚斯:

@Primary为“默认”。

如果一个bean有@Autowired 没有任何@Qualifier和类型存在多种豆类,标志着候选人豆@Primary将被选择,也就是说,它是默认选择在没有其他信息可用,即当@Qualifier缺少。

一个良好的使用情况是,最初你只有类型的bean,所以没有使用的代码@Qualifier当你再加入另一个bean,然后你也加入@Qualifier到两个旧的和新豆,所以任何@Autowired可以选择它想要哪一个。也通过添加@Primary到原来的老豆,你不必添加@Qualifier到现有的所有@Autowired他们是在“祖父”,可以这么说。

@Primary也不错,例如如果95%@Autowired想要一个特定的bean。这样一来,只有@Autowired想要其他的bean(一个或多个)需要指定@Qualifier这样一来,你有初级豆类,所有的自动装配的人,而@Qualifier只是用来请求一个“备用”豆。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring注解@Autowired内部方法

Spring @Configuration 注解 @Autowired 服务为空

@Autowired 没有 spring boot 的注解

使用@Qualifier @Autowired值测试类

使用@Autowired和@Qualifier解决Spring冲突

@Resource vs @Autowired

测试注释与@Autowired注解@DataJpaTest不自动装配领域

弹簧自动装配Autowired者和建设者的注解

无法在Spock中使用注解@Autowired注入JpaRepository

Spring Transaction Hibernate @Transaction注解不适用于@Autowired

使用@Autowired注解注入Bean时出现空指针异常

使用@Autowired 注解无法访问弹簧容器对象

spring webflux响应式项目中何时使用和不使用@Mock注解、@MockBean注解、@InjectMock注解和@Autowired注解

@Primary JpaRepository不用于@Autowired

如何在春季从@Autowired List <>的每个bean中获取@Qualifier

@Bean和@Autowired之间的区别

如果使用@Autowired + @Qualifier注入,如何避免在重构期间更改bean名称

Mockito中的@injectMocks和@Autowired用法之间的区别?

Aware 接口和@Autowired 之间有什么区别

@Autowired与@Autowired with Setter

@Qualifier和@Resource之间的区别

spring中使用@Qualifier注解和直接注入bean有什么区别?

何时在Spring中使用Qualifier和Primary

@Autowired HttpServletResponse

@Autowired与XML

如何在Spring中使用@autowired标记在子对象之间切换?

将@Autowired放入变量和方法之间有什么区别?

@Autowired与New Keword和Application上下文之间的区别以创建对象

当用户缩小并且注解彼此之间太近时,隐藏MKA注解