JavaEE7:按名称模式注入bean的所有实例
我想获得类名以JavaEE7:按名称模式注入bean的所有实例,java,jakarta-ee,dependency-injection,java-ee-7,Java,Jakarta Ee,Dependency Injection,Java Ee 7,我想获得类名以Cache结尾的所有bean实例 这在JavaEE7中可能吗?如果是,如何注射?您可以注射: @Inject BeanManager BeanManager; 然后,您可以从CDI容器中访问。如果您的bean没有公共接口,您可以使用: 使用producer方法设置,该方法从BeanManager检索给定类型的bean,并根据类名对其进行过滤 @Produces public List<MyInterface> produceMyInterfaces() {
Cache
结尾的所有bean实例
这在JavaEE7中可能吗?如果是,如何注射?您可以注射:
@Inject
BeanManager BeanManager;
然后,您可以从CDI容器中访问。如果您的bean没有公共接口,您可以使用:
使用producer方法设置,该方法从BeanManager
检索给定类型的bean,并根据类名对其进行过滤
@Produces
public List<MyInterface> produceMyInterfaces() {
return beanManager.getBeans(MyInterface.class).stream().filter(e -> e.getClass().getSimpleName().contains("something").collect(Collectors.toList());
}
@products
公共列表produceMyInterfaces(){
返回beanManager.getBeans(MyInterface.class).stream().filter(e->e.getClass().getSimpleName().contains(“某物”).collect(Collectors.toList());
}