6

为了使用@Autowire注解,使用注解的对象必须来自spring上下文。

JSF 托管 bean 是由 JSF 的 IOC 而不是 Springs 创建的,因此我不能在其中使用 @Autowire 必须使用 faces-config.xml 和托管属性。

我已经设置了一个 EL 解析器,它可以让 spring bean 作为托管属性,我想更进一步,并摆脱每次需要自动装配某些东西时进入 faces-config.xml 的需要。这可能吗?

4

2 回答 2

12

只需使用@Controller(or @Component) 和@Scope("request")(or session) 注释您的托管 bean 并添加<context:component-scan>(如果您没有),托管 bean 将自动被检测为 spring bean。而且由于您已经在使用 ELResolver,应该就是这样 - 您应该能够使用@Autowired(或者更好 -@Inject如果使用 spring 3.0)。

于 2010-12-15T21:55:45.597 回答
4

您可以使用@ManagedProperty(#{'someBean'})自动装配 jsf bean 中的其他 bean

于 2013-11-11T10:57:17.023 回答