@Qualifier关于这个注解我点疑问
来源:3-9 基于Apache Shiro权限管理Case实操-1

慕斯5332939
2018-08-02
@Qualifier不是一般是结合@Autowired一起使用的吗?
怎么我看可以单独使用
public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager){}
写回答
1回答
-
你好,如果是在一个类里注入一个成员变量时,@Qualifier通常是和@Autowired一起使用的,我想你之前看到的也基本上都是这种写法。
课程这里和那种注入有点不一样,这个是往方法里面注入一个spring管理的bean,而这个方法本身是要返回一个被spring管理的bean,这里的@Bean要做的也是自动完成注入,你可以理解为先取到一个自动注入的SecurityManager实例,然后注入给ShiroFilterFactoryBean实例。
其实这个也可以换种写法,声明一个变量
@Autowired
@Qualifier("securityManager")
private SecurityManager manager;
然后定义一个方法:
public SecurityManager getSecurityManager() {
return manager;
}
在注入ShiroFilterFactoryBean实例时直接调用getSecurityManager方法获取实例
012018-08-03
相似问题