一、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)