一个接口有多个实现类如何找到注入的那个实现类?
我调试不知道那个是他的注入类
public interface UserService {
void addUser(User user);
}
@Service
@Qualifier("userServiceImpl1")
public class UserServiceImpl1 implements UserService {
@Override
public void addUser(User user) {
// 实现添加用户的逻辑
}
}
@Service
@Qualifier("userServiceImpl2")
public class UserServiceImpl2 implements UserService {
@Override
public void addUser(User user) {
// 实现添加用户的逻辑
}
}
@Service
public class UserServiceConsumer {
@Autowired
@Qualifier("userServiceImpl1")
private UserService userService1;
@Autowired
@Qualifier("userServiceImpl2")
private UserService userService2;
// 省略其他方法
}
在UserServiceConsumer中,使用@Qualifier注解来指定注入的实现类,可以根据需要注入不同的实现类。另外,也可以使用@Primary注解来指定默认的实现类,如果没有指定@Qualifier注解,则会注入默认的实现类。
参考于:Cursor 应用