spring注入map,spring注入一个接口的多个实现类在map里
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