spring map获取同类型的bean
2020-12-13 04:06
标签:lse wired hashmap new ref hand 根据 博客 span 今天看博客怎么减少if else 方法, 才发现spring 还有很多功能我没有用到,以后真的得花时间学学spring,今天学到的东西如下: 结果 为 : StoreA [] spring直接可以把同类型的类注入到map中,就可以不用定义工厂类根据需要来进行返回,直接通过map的get方法可以获取需要的类,可以说完美契合策略模式. spring map获取同类型的bean 标签:lse wired hashmap new ref hand 根据 博客 span 原文地址:https://www.cnblogs.com/lishuaiqi/p/11104648.html1.定义一个接口 store
public interface Store {
void handle();
}
2.定义两个类
@Service("storeA")
public class StoreA implements Store {
@Override
public void handle() {
}
@Override
public String toString() {
return "StoreA []";
}
}
@Service("storeB")
public class StoreB implements Store {
@Override
public void handle() {
}
@Override
public String toString() {
return "StoreB []";
}
}
3.在factory类中的map类型直接注入即可
@Service
public class StoreFactory {
@Autowired
@Qualifier("storeA")
private StoreA storeA;
@Autowired
@Qualifier("storeB")
private StoreB storeB;
@Autowired
private Map
4.测试
@Test
public void testStoreFactory() {
storeFactory.getStore();
}
StoreB []
{storeA=StoreA [], storeB=StoreB []}5.总结