spring注入map,spring注入多個實現類在map里
一個接口,兩個實現類
接口:
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<String ,TestService> 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