场景:MyServiceImpl1 和 MyServiceImpl2 都实现了 MyService接口
@Service
public class MyServiceImpl1 implements MyService {
@Override
public Type getType() {
return Type.ONE;
}
// ...
}
@Service
public class MyServiceImpl2 implements MyService {
@Override
public Type getType() {
return Type.TWO;
}
// ...
}
方式1,通过set注入
@Component
public class InitializeTest {
private static Map<Type, MyService> myServiceMap = new LinkedHashMap<>();
@Autowired(required = false)
public void setMyServices(List<MyService> services) {
myServiceMap.clear();
for (MyService service : services) {
myServiceMap.put(service.getT