Java 大豆的动态CDI注射
我试图找到一种在运行时加载的类中使用注入的方法, 我已经用这种方法成功地向它们注入了现有的bean:Java 大豆的动态CDI注射,java,plugins,dependency-injection,cdi,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.postCons
AnnotatedType<T> plugType=beanManager.createAnnotatedType(clazzT);
InjectionTarget<T> it = beanManager.createInjectionTarget(plugType);
T o=it.produce(ctx);
it.inject(o, ctx);
it.postConstruct(o);
AnnotatedType plugType=beanManager.createAnnotatedType(clazzT);
InjectionTarget it=beanManager.createInjectionTarget(plugType);
T o=it.PRODUCT(ctx);
注射(o,ctx);
it.施工后(o);
问题是当试图注入一个不是加载bean的类时,
假设我想加载两个类A和B,A的字段类型为B注入-然后A的注入在缺少依赖项时失败,
B的创建成功了(稍后尝试实例化时),但这不会在当前bean管理器中“注册”bean,因此使我尝试“双重传递”以确保依赖关系失败。
尝试研究CDI可移植扩展,但似乎需要在某些文件中显式声明这些扩展-我正在寻找加载完全未知的实体(可能实现某些接口)
有什么想法吗?hk2是一个您可能感兴趣的动态注入框架。它专门设计用于加载在初始引导时未知的后续实体,因此它可能就是您正在寻找的