-1

org.springframework.web.jsf.el.SpringBeanFacesELResolver在我的 JSF + Spring 应用程序中使用。每个支持 bean 都需要一个接口来解析。我猜它是依赖注入的接口类型。

#{bean.text}

public interface IBean {
    String getText();
}

@Named
@Scope("session")
public class Bean implements IBean {
    public String getText() {
        return "Hello World!";
    }
}

我想摆脱界面。这对我来说有点官僚主义。是否可以?

4

1 回答 1

0

我终于解决了。问题出在范围取决于 HTTP(请求、会话)的 bean 中。默认情况下,应手动创建接口。这可以通过使用代理来避免。

如果使用组件扫描:

<context:component-scan base-package="..." scoped-proxy="targetClass" />

或者在 bean 定义中:

<bean ...>
    <aop:scoped-proxy>
</bean>

请参阅 Spring 文档中的第 4.5.4.5 章 Scoped beans as dependencies。http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html

于 2012-10-28T17:56:36.803 回答