@Qualifier关于这个注解我点疑问

来源:3-9 基于Apache Shiro权限管理Case实操-1

慕斯5332939

2018-08-02

@Qualifier不是一般是结合@Autowired一起使用的吗?

怎么我看可以单独使用

  1. public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager){}


写回答

1回答

Jimin

2018-08-02

你好,如果是在一个类里注入一个成员变量时,@Qualifier通常是和@Autowired一起使用的,我想你之前看到的也基本上都是这种写法。

课程这里和那种注入有点不一样,这个是往方法里面注入一个spring管理的bean,而这个方法本身是要返回一个被spring管理的bean,这里的@Bean要做的也是自动完成注入,你可以理解为先取到一个自动注入的SecurityManager实例,然后注入给ShiroFilterFactoryBean实例。

其实这个也可以换种写法,声明一个变量

@Autowired

@Qualifier("securityManager") 

private SecurityManager manager;

然后定义一个方法:

public SecurityManager getSecurityManager() {

    return manager;

}

在注入ShiroFilterFactoryBean实例时直接调用getSecurityManager方法获取实例

0
1
慕斯5332939
非常感谢!
2018-08-03
共1条回复

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程