当前位置: 首页 > 知识库问答 >
问题:

为什么实体bean不应该由JSF框架管理?

夏祯
2023-03-14

我读了一些帖子(特别是BalusC帖子)并在谷歌上搜索了原因(不深入),但我找不到为什么不应该使用实体bean作为托管bean。原因是什么?(我正在学习“ProJSF和HTML5”,在本书中,实体bean被用作托管bean。)

共有1个答案

邹举
2023-03-14

关注的分离。

通常,企业应用程序被开发和部署为EAR而不是WAR。一个典型的EAR项目由作为“后端”的EJB子项目和作为“前端”的WAR子项目组成。EJB子项目包含所有JPA实体和EJB服务。WAR子项目包含所有JSF管理的bean和视图(以及与JSF不密切相关的内容,如转换器、验证器、相位监听器等)。

一个好的EJB子项目可能不依赖于JSF。这使得它可以用于不同的前端,例如SpringMVC、JAX-RS、Struts2、普通JSP/Servlet,甚至是面向桌面的Swing应用程序。这也意味着您的JPA实体和EJB服务中不应该有任何javax。脸* 类中的导入/依赖项。例如,在JPA实体或EJB服务中有一个FacesContext,这是令人担忧的,因为这不一定存在于其他前端。

“Pro JSF和HTML5”集中于简单的战争项目。在这里,为了展示可能性和/或保持示例“简单”,这是“好的”,但这实际上会误导初学者,一旦他们成长为开发企业应用程序的人,如果这本书没有详细介绍设计问题,情况就更糟了。

  • JSF服务层

 类似资料:
  • 有几个很好的博客关于如何使用泛型类实现存储库模式和工作单元模式。 使用实体框架6.1实现数据访问层 实现存储库和工作单元模式 这个想法是,定义一个通用接口IRepository和一个隐藏数据实际访问方式的类存储库。可以使用实体框架DbContext来访问它,或者存储库可能是用于单元测试的内存集合。 我经常看到添加了几个与Queryable和/或Enumerable函数类似的Query函数。 例如,

  • 托管bean它是一个纯Java类,它包含一组属性和一组,方法。 以下是托管bean方法执行的常见功能: 验证组件的数据 处理组件触发的事件 执行处理以确定应用程序必须导航的下一页 它也可以作为JFS框架的模型。 JSF托管Bean示例 请看看下面一段示例代码 - 您可以通过以下方式使用此。 通过配置成XML文件。 通过使用注释。 通过XML文件配置托管Bean 在xml文件配置是比较旧方法。 在这

  • 我的老师让我这样做,但在评论区我被告知我不应该这样做。 为什么?

  • 主要内容:使用XML配置,使用@ManagedBean注解JSF 托管bean(Managed Bean)是JSF注册的常规Java Bean类。托管bean包含getter和setter方法,业务逻辑。JSF托管bean作为UI组件的Model。 它存储JSF xhtml页面使用的数据。借助JSF框架,可以从JSF页面访问托管Bean。 在JSF 1.2中,我们必须在JSF配置文件(如)中注册受管理的bean。 从JSF 2.0可以使用注解注册管理be

  • 我正在尝试使用@ConfigurationProperties注释将对象列表绑定到实体类。Spring Boot框架似乎忽略了这个注释,实际上它什么都不做。 这是我的申请表。yml属性文件: 这是我的实体类: 绑定非常简单: 在应用程序的某个地方,我正在测试该绑定,比如说我在API中创建了endpoint来测试该绑定,即我的控制器调用一个只打印列表中所有对象的方法: 预期: 启动后,Applica

  • 问题内容: 我正在阅读JSF,我感到非常困惑,为什么JSF是MVC框架(或者至少哪些部分属于哪个“字母”)。 我看了这个问题:JSF MVC框架中的MVC是什么组件? 我在这里读过,如果您不以汇总视图查看它,则模型是您的实体,视图是您的XHTML代码,控制器是托管bean。嗯…好,但是视图不是经常依赖于执行进一步的业务逻辑调用(例如返回一组实体),描述是否仍然合适? 我读过的一本书将其描述为托管b