Jsf 为什么是EJB';在@RequestScope bean中调用了两次的构造函数?
我在托管bean中注入了一个EJB bean。它的构造函数被调用两次。 例如,我得到:Jsf 为什么是EJB';在@RequestScope bean中调用了两次的构造函数?,jsf,ejb,Jsf,Ejb,我在托管bean中注入了一个EJB bean。它的构造函数被调用两次。 例如,我得到: com.logic.jsf.AdditionManagedBean created com.logic.Addition$$$view45 created com.logic.Addition created 我知道@PostConstruct,但我正试图理解为什么会发生这种情况。是因为代理,在这种情况下,我不应该在类的打印名称中看到代理相关的文字吗 @Stateless @LocalBean publi
com.logic.jsf.AdditionManagedBean created
com.logic.Addition$$$view45 created
com.logic.Addition created
我知道@PostConstruct,但我正试图理解为什么会发生这种情况。是因为代理,在这种情况下,我不应该在类的打印名称中看到代理相关的文字吗
@Stateless
@LocalBean
public class Addition{
public Addition(){
System.out.println(this.getClass().getName() +" created");
}
public String getAddition(){
return "Addition";
}
}
注入:
@ManagedBean
@RequestScoped
public class AdditionManagedBean {
@EJB
Addition addition;
public AdditionManagedBean(){
System.out.println(this.getClass().getName()+" created");
}
public String getAddition(){
return addition.getAddition();
}
}
“是因为代理”是的。“在这种情况下,我不应该看到代理相关的文字吗?”什么?无论如何,这是相关的/重复的:打印的类的名称不应该与“代理”而不是“视图”相关吗?为什么你认为它不是代理?“是因为代理”是。“在这种情况下,我不应该看到与代理相关的文字吗?”什么?无论如何,这是相关的/重复的:打印的类的名称不应该与“代理”而不是“视图”相关吗?为什么你认为它不是代理?