我有一个接口和多个实现类,大约10个,这个接口.
@Autowired
私有地图< String,MyInterface> myImplementations;
然后使用myImplementations.get()方法访问实现类.
有没有更好的方法来访问这些实现?我只知道哪个impl.我需要在运行时,更改取决于我收到的消息.
最佳答案
您可以在类中实现BeanFactoryAware接口,然后使用注入的bean工厂来获得所需的实现:
Interface impl = beanfactory.getBean("interfaceimpl");
要么
Interface impl = beanfactory.getBean(InterfaceImpl.class);