我不愿再问一个关于同一主题的问题,但至少现在我正在阅读,我认为,正确的docs。
所以,这个类:
class FacesContextProducer {
@Produces @RequestScoped FacesContext getFacesContext() {
return FacesContext.getCurrentInstance();
}
}实际上,在weld docs中,此方法通过以下方式应用于Glassfish:GlassFish is using WELD as the reference implementation for JSR-299: Java Contexts and Dependency Injection for the Java EE platform (CDI).
对于上面的类,它将在哪里使用?为什么你需要一个单独的类来@产生一个FacesContext?
发布于 2012-04-10 03:32:46
对于上面的类,它将在哪里使用?他为什么要给FacesContext注射?
我认为这要么是为了
or
中的
如果你尝试做纯CDI,当你不使用其他依赖查找机制(如getCurrentInstace()静态方法)时,它看起来很好。请注意,实际上并不需要定义生产者并使用注入。它很方便,与CDI的用法是一致的。
广告2.是由博客McDowell链接解释的,想象一下注入是用CDI完成的。
为什么你需要一个单独的类@生成一个FacesContext?
这不需要是一个单独的类,您可以让单个类生成多个bean。将它们分开只会有助于代码的清晰度。
发布于 2012-04-09 20:06:43
您可能希望注入FacesContext,以避免直接依赖静态getCurrentInstance()方法,从而简化模拟和单元测试。
我已经为JSF自己的依赖注入机制写了一些相关的东西。
https://stackoverflow.com/questions/10066610
复制相似问题