@Qualifier 注解,可以消除需要注入哪个 bean 的问题。(发生依赖注入的歧义时决定要注入哪个 bean。)
@Qualifier 注解与我们想要使用的特定 Spring bean 的名称一起进行装配,Spring 框架就能从多个相同类型并满足装配要求的 bean 中找到我们想要的
@Bean
@Qualifier("userRealm")
public DefaultWebSecurityManager getDefaultWebSecurityManager(
@Qualifier("userRealm") UserRealm userRealm){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
//关联UserRealm
securityManager.setRealm(userRealm);
return securityManager;
}
@Bean
public UserRealm userRealm(){
return new UserRealm();
}
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名
@Bean等同于
<beans>
<bean id="transferService" class="com.acme.TransferServiceImpl"/>
</beans>
任何使用@Bean定义的bean,也可以执行生命周期的回调函数