如何以编程方式将 Java CDI 受管 Bean 注入到(静态)方法中的局部变量中

如何以编程方式将 Java CDI 1.1+ 受管 Bean 注入到静态方法中的局部变量中?


答案 1

要注入类的实例:C

javax.enterprise.inject.spi.CDI.current().select(C.class).get()

这在 CDI 1.1+ 中可用


答案 2

例如,使用此实用程序。你基本上必须从中获取和获取你想要的bean的实例(想象一下像JNDI查找这样的东西)。BeanManager

更新

您还可以使用 CDI 1.1 中提供的 CDI 实用程序类

SomeBean bean = CDI.current().select(SomeBean.class).get();

更新 2

在 CDI 2.0 中,您必须使用 BeanManager 类以编程方式获取 Bean 实例。


推荐