JGl*_*son 4 java spring spring-boot
我有以下...
package package1;
@Service
@Qualifier("kb")
public class UserService {
...
}
package package2;
@Service
@Qualifier("user")
public class UserService {
...
}
@Autowired
@Qualifier("user")
package2.UserService p2;
@Autowired
@Qualifier("kb")
package1.UserService p1;
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行它时,我得到...
org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[boot.Application];嵌套异常是 org.springframework.context.annotation.ConflictingBeanDefinitionException:bean 类 [package1.UserService] 的注释指定的 bean 名称“userService”与相同名称和类 [package2.UserService] 的现有不兼容 bean 定义冲突
我如何拥有 2 个同名的服务?
从类中删除@Qualifier,仅在自动装配时使用@Qualifier
@Service("kb")
public class UserService {
...
}
package package2;
@Service("user")
public class UserService {
...
}
Run Code Online (Sandbox Code Playgroud)
来自@Qualifier javadoc
**
* This annotation may be used on a field or parameter as a qualifier for
* candidate beans when autowiring. It may also be used to annotate other
* custom annotations that can then in turn be used as qualifiers.
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9425 次 |
| 最近记录: |