动态CDI注入bean

时间:2015-09-03 23:12:40

标签: java plugins dependency-injection cdi

我试图找到一种在运行时加载的类中使用注入的方法, 我使用这种方法成功地用已经存在的bean注入它们:

AnnotatedType<T> plugType=beanManager.createAnnotatedType(clazzT);
InjectionTarget<T> it = beanManager.createInjectionTarget(plugType);
T o=it.produce(ctx);
it.inject(o, ctx);
it.postConstruct(o);

问题是当尝试注入一个不是加载bean的类时, 假设我想加载两个类A和B,而A有一个B类型的注入 - 然后注入A就会失去依赖关系, B的创建成功(后来尝试稍后实例化)但是这不会在当前bean管理器中“注册”bean,因此我尝试“双通”以确保依赖性失败。 试图查看CDI可移植扩展,但似乎需要在某个文件中显式声明 - 我正在寻找加载完全未知的实体(可能实现某些接口)

任何想法?

0 个答案:

没有答案