我最终决定看看 Tomcat 中的 Weld。当我部署我的应用程序时,我在日志中看到:
“检测到 Tomcat 7,CDI 注入将在 Servlet 和过滤器中可用”
例如,如何使用过滤器/Servlet 之外的 BeanManager 创建 bean 的实例?
我有一个豆子:
@javax.inject.Named(value="CarService")
@javax.enterprise.context.RequestScoped
public class CarService implements Serializable{
.
.
.
我想使用 BeanManager 为指定的请求上下文创建它的一个实例。
Context ctx = new InitialContext();
BeanManager manager = (BeanManager) ctx.lookup("java:comp/env/BeanManager");
// NOW WHAT?
如果这可以在 servlet/过滤器中完成,我相信它可以在其他任何地方完成,但我只是不想通过 Weld 代码并在不先询问的情况下自己弄清楚。
非常感谢。