【发布时间】:2011-07-16 03:53:26
【问题描述】:
我有一个 JSF 2.0 bean:
@ManagedBean
@SessionScoped
public class LoginBean implements Serializable
{
protected String name;
public String getName()
{
return name;
}
//....
}
我有一个 Spring 3.0 bean:
@Repository
public class Logins
{
@ManagedProperty(value="#{loginBean}")
protected LoginBean loginBean;
public void recordLogin()
{
//... record in db that loginBean.getName() just logged in
}
}
此代码不起作用,从未设置 Logins.loginBean。
或者(同样的问题,已简化)- 下面的代码会起作用吗?
@Repository
public class SpringBean
{
@ManagedProperty(value="#{session.id}")
protected String id;
//....
}
ContextLoaderListener 和 RequestLoaderListener 在 web.xml 中声明。
是否可以将 JSF bean 注入到 Spring bean 中? (不使用另一个额外的框架)
或者我应该将我的 JSF bean 转换为 Spring bean 并在 faces-config.xml 中使用 DelegatingVariableResolver 技巧?我已经使用测试 Spring bean 对此进行了测试,并且可以正常工作。
【问题讨论】:
标签: spring jsf dependency-injection