我有一节课:
@Service
public class SecurityManagerService implements ISecurityManagerService {
private final UserRepository userRepository;
private final RoleRepository roleRepository;
private final RightRepository rightRepository;
public SecurityManagerService(UserRepository userRepository,
RoleRepository roleRepository,
RightRepository rightRepository) {
this.userRepository = userRepository;
this.roleRepository = roleRepository;
this.rightRepository = rightRepository;
}
..
}我想为测试类创建bean:
<bean id="userRepository" class="eu.lopo.repositories.security.UserRepository" abstract="true"/>
<bean id="securityManagerService" class="eu.lopo.services.security.SecurityManagerService" >
<constructor-arg><ref bean="userRepository"/></constructor-arg>
</bean>但是我有一个错误:Abstract bean cannot be used here
发布于 2021-12-06 13:17:56
我认为最好使用注释注入依赖项。Springboot现在提供了一种非常优雅和简单的注入依赖服务的方法。
@Service公共类SecurityManagerService实现ISecurityManagerService {
private final UserRepository userRepository;
private final RoleRepository roleRepository;
private final RightRepository rightRepository;
public SecurityManagerService(@Autowired UserRepository userRepository,
@Autowired RoleRepository roleRepository,
@Autowired RightRepository rightRepository) {
this.userRepository = userRepository;
this.roleRepository = roleRepository;
this.rightRepository = rightRepository;
}。。}
或者,您可以通过setter或纯粹不使用构造函数使用@@Autowired。希望这能给你一些线索。
https://stackoverflow.com/questions/70245713
复制相似问题