我有一个接口和多个实现类,大约10个,这个接口.
我prefix + name + suffix在运行时有这样的命名约定,我可以添加
@Autowired
private Map<String, MyInterface> myImplementations;
然后使用myImplementations.get()方法访问实现类.
有没有更好的方法来访问这些实现?我只知道哪个impl.我需要在运行时,更改取决于我收到的消息.
您可以在类中实现BeanFactoryAware接口,然后使用注入的 bean 工厂来获取所需的实现:
Interface impl = beanFactory.getBean("interfaceimpl");
Run Code Online (Sandbox Code Playgroud)
或者
Interface impl = beanFactory.getBean(InterfaceImpl.class);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |