一个接口,两个实现类
接口:
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