java - CDI - 在运行时注入(inject)类

标签 java java-ee-6 cdi

我正在开发一个项目,需要在运行时加载一些类。要加载的类是 CDI 容器的一部分,并且必须能够注入(inject)一些东西。 “加载类”本身也是 CDI 容器的一部分。

现在我的问题来了。可以通过反射加载和实例化任何类,但在这种情况下,加载类来注入(inject)任何内容是不可能的。因此需要获取这些类的实例,因为这将由服务器在内部完成,就像我们使用注释 @javax.inject.Inject 时一样。

是否有任何方法可以加载另一个 CDI 容器的类,使其仍然可以使用注入(inject)(否则它没有任何意义^^)?也许有任何类型的类负责处理所有这些类,这样我就可以简单地告诉它要加载的类的名称(就像我用反射来做的那样)...?

谢谢

最佳答案

您可以使用 BeanManager API 根据 Bean 类型查询和加载上下文引用。

关于java - CDI - 在运行时注入(inject)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638301/

相关文章:

java - CDI-Unit @Produces 不工作

java - 如何解决 Java 方法引用歧义

java - 是否可以定义一个与其实现分离的 jax-rs 服务接口(interface)(使用 eclipse 和 jersey)?

java - 带有 CDI 的 EJB 3.1 遇到错误 1408

ejb-3.0 - EJB3.1 远程调用 - 是否自动分发?是不是很贵?

java - 没有 JavaEE 6 可以使用 JPA 2.0 吗?

java - CDI生产方法-注入(inject)

java - 两个方法会同时执行吗

java - 添加两个数字而不是合并

Java LWJGL - 创建正方形网格