我正在开发一个项目,需要在运行时加载一些类。要加载的类是 CDI 容器的一部分,并且必须能够注入(inject)一些东西。 “加载类”本身也是 CDI 容器的一部分。
现在我的问题来了。可以通过反射加载和实例化任何类,但在这种情况下,加载类来注入(inject)任何内容是不可能的。因此需要获取这些类的实例,因为这将由服务器在内部完成,就像我们使用注释 @javax.inject.Inject 时一样。
是否有任何方法可以加载另一个 CDI 容器的类,使其仍然可以使用注入(inject)(否则它没有任何意义^^)?也许有任何类型的类负责处理所有这些类,这样我就可以简单地告诉它要加载的类的名称(就像我用反射来做的那样)...?
谢谢
最佳答案
您可以使用 BeanManager API 根据 Bean 类型查询和加载上下文引用。
关于java - CDI - 在运行时注入(inject)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638301/