做您想要的事情的标准方法应该是:
interface YourInterface { void doSomething();}public class YourClass { @Inject @Any Instance<YourInterface> anImplementation; public void yourMethod(String someInput) { Annotation qualifier = turnInputIntoQualifier(someInput); anImplementation.select(qualifier).get().doSomething(); } private Annotation turnInputIntoQualifier(String input) { ... }}当前,但是
Spring不支持它(尽管它计划用于v5.x)。它应该在应用程序服务器上工作 。
如果您想坚持使用Spring,那么
ServiceLocatorFactoryBean基于解决方案的解决方案可能是最好的。



