如何@Autowire在受管Bean(JSF)中的BeanFactory

时间:2014-01-09 10:20:34

标签: java spring jsf jsf-2

当我在Spring管理的bean中需要BeanFactory时,我使用:

private @Autowired BeanFactory factory;

我如何在Managed Bean中实现这一目标? 我试过了:

 @ManagedProperty(value = "#{BeanFactory}")
private BeanFactory beanFactory;// (the property has getters and setters)

但该属性为null。

我在faces-config中有一个EL解析器:

<el-resolver>
        org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>

谢谢你,抱歉我的英语不好:)

1 个答案:

答案 0 :(得分:1)

看来您的@ManagedProperty标记可能是问题,因为(value = "#{BeanFactory}")应该是(value = "#{beanFactory}"),除非您的BeanFactory类在@ManagedBean标记中被特别命名为“BeanFactory”在其中。

默认情况下,使用@ManagedBean注释的bean将映射到它们的类名,但第一个字符将是小写,例如:“BeanFactory”被映射为“beanFactory”,FooBean变为“fooBean”。