我正在阅读Stackoverflow中的一篇旧帖子,内容:
In the big architectural picture, your own JSF code is the V:
M - Business domain/Service layer (e.g. EJB/JPA/DAO)
V - Your JSF code
C - FacesServlet
In the smaller developer picture, the architectural V is in turn dividable as follows:
M - Entity
V - JSP/XHTML page
C - Managed bean
So it's basically a M(MVC)C.
在大写字母中,JavaBean是一个模型,
但是在小写的情况下,Managed bean会变成一个控制器吗?
它们不是同一个> ??差异是什么?
答案 0 :(得分:10)
简短回答:'Managed Bean'是JSF托管bean的遗留短名称。它是由JSF管理的Java Bean。
长一点:
bean通常是由容器管理的POJO(普通旧java对象)。
Managed在这里意味着容器处理创建/销毁,实例数量,范围和某些特定方法的调用。
容器通常由底层服务器提供。在Java EE中,您有不同的容器(CDI,EJB,Web等)
JSF Managed Bean由JSF容器管理,EJB由EJB容器管理,Servlet容器由Servlet容器管理,JPA实体由EntityManager管理等。
例如,在tomcat服务器上,您只有web(servlet)容器而不是EJB容器。如果您使用JSF(您必须提供相关的依赖关系),您也将拥有托管bean。