一个接口,两个实现类
接口:
public interface TestService {
void test();
}
两个实现类
@Component("testOService")
public class TestOService implements TestService {
@Override
public void test() {
System.out.println("testOService");
}
}
@Component("testTwoService")
public class TestTwoService implements TestService {
@Override
public void test() {
System.out.println("testTwoService");
}
}
查看:
@Service
public class UserInfoService {
@Autowired
private Map testServiceMap;
@PostConstruct
public void init(){
testServiceMap.get("testOService").test();
testServiceMap.get("testTwoService").test();
}
}
源码解析
对应spring源码位置 org.springframework.beans.factory.support.DefaultListableBeanFactory
方法 : org.springframework.beans.factory.support.DefaultListableBeanFactory#resolveMultipleBeans
