我正在使用JSF-Spring集成,我使用JSF <h:commandButton>
从JSP调用Spring管理的请求范围bean方法。我无法理解的一件事是Spring bean的构造函数被调用了两次。为什么会这样?
这是Spring托管bean:
@org.springframework.stereotype.Component
@org.springframework.context.annotation.Scope("request")
public class MyAction implements java.io.Serializable {
public MyAction(){
System.out.println("inside request scoped bean");
}
这是JSF视图:
<h:commandButton value="add" action="#{MyAction.add}" />
答案 0 :(得分:0)
你可以调试来跟踪构造函数的调用位置吗?非常肯定其中一个调用是尝试从其他地方初始化,一个来自application / ui
答案 1 :(得分:0)
我得到了答案,因为Spring的cglib代理机制,构造函数被调用了两次。