一、depend-on
在某个bean注册之前需要依赖于其他bean注册完
比如bean1在注册时需要依赖 beanScopeItem和threadScopeConfig注册完,才能注册
@DependsOn(value = {"beanScopeItem","threadScopeConfig"})
@Component
class Bean1 {
}
二、primary和autowire-candidate
primary或者autowire-candidate 主要用于解决容器中有多个同一类型的bean,按类型注入的时候报容器有多个同一类型的bean,无法注入异常。
1、在某个bean上标记了primary, 当容器中有多个同一类型的bean时,这个bean会作为首要的、bean,进行注入。(当有多个同一类型bean都标记了primary时,是无法注入成功的)。
2、autowire-candidate在bean.xml文件默认为true,表示当前bean,在容器中其他bean依赖它的时候,会作为候选bean,进行注入 。(autowire-candidate为false的时候,表明这个bean不会作为候选bean)
本文详细介绍了Spring框架中@DependsOn注解的使用,它允许指定一个bean依赖于其他bean的注册顺序。同时,讲解了primary和autowire-candidate属性的作用,当容器中有多个相同类型的bean时,如何选择合适的注入bean。primary标志可以指定首选bean,而autowire-candidate则控制bean是否作为自动装配的候选者。
655

被折叠的 条评论
为什么被折叠?



