dig*_*oel 2 jsf google-app-engine dependency-injection guice
我正在尝试使用Guice来注入JSF托管bean的属性.这一切都在Google App Engine上运行(可能重要也可能不重要)
我按照这里的说明操作:
http://code.google.com/docreader/#p=google-guice&s=google-guice&t=GoogleAppEngine
一个问题是第一步.我无法继承Servlet模块并在那里设置我的servlet映射,因为Faces由javax.faces.webapp.FacesServlet处理,它是Servlet的子类,而不是HttpServlet.因此,我尝试将我的servlet配置保留在web.xml文件中,并在第二步中描述的上下文侦听器中创建注入器时,简单地实例化一个新的ServletModel()以及我的业务模块.
完成所有这些以及web.xml配置后,我的托管bean没有注入任何属性.方法如下
@ManagedBean
@ViewScoped
public class ViewTables implements Serializable
{
private DataService<Table> service;
@Inject
public void setService( DataService<Table> service )
{
this.service = service;
}
public List<Table> getTables()
{
return service.getAll();
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我想知道是否有一个技巧让Guice注入JSF托管bean?我显然不能使用构造函数注入,因为JSF需要一个no-arg构造函数来创建bean.