Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 理解托管bean/支持bean_Java_Jsf_Jakarta Ee_Ejb - Fatal编程技术网

Java 理解托管bean/支持bean

Java 理解托管bean/支持bean,java,jsf,jakarta-ee,ejb,Java,Jsf,Jakarta Ee,Ejb,我正在学习JavaEE6,并试图把握它的整体形象。我正在阅读JSF以及如何添加组件。我正在将组件中的值设置/读取到具有@ManagedBean注释的bean 我很难正确理解它。什么是Managedbeans?只是保存组件状态的对象吗?他们还可以有其他的方法吗?ejb适合在哪里?托管bean是否在EJB上调用了方法 什么是Managedbeans?它仅仅是保存状态的对象吗 组件 JSF管理的bean与任何其他Java bean都类似,除非它是由JSF管理的。换句话说,它是一个由JSF根据需要创建和

我正在学习JavaEE6,并试图把握它的整体形象。我正在阅读JSF以及如何添加组件。我正在将组件中的值设置/读取到具有@ManagedBean注释的bean

我很难正确理解它。什么是Managedbeans?只是保存组件状态的对象吗?他们还可以有其他的方法吗?ejb适合在哪里?托管bean是否在EJB上调用了方法

什么是Managedbeans?它仅仅是保存状态的对象吗 组件

JSF管理的bean与任何其他Java bean都类似,除非它是由JSF管理的。换句话说,它是一个由JSF根据需要创建和销毁的bean

书中说

JSF实现执行以下操作:

  • 根据需要创建和丢弃bean(因此术语为“托管 豆子“)
  • 显示网页时读取bean属性
  • 在发布表单时设置bean属性
  • 他们还可以有其他的方法吗

    是的,它们可以有您想要的任意多个方法。但是,理想情况下,您希望(也应该)让托管bean尽可能精简。例如,它可能有一个搜索方法,但您不应该在该方法中实际执行搜索,但该搜索方法的唯一目的应该是将任务委托给业务层(可能是基于EJB的,也可能不是基于EJB的)。
    换句话说,没有繁重的工作

    ejb适合在哪里

    EJB是您的业务层,它们有巨大的二头肌,承担着所有的重担。自从EJB3 JPA被引入以来,这也是EJB的一部分。然而,JPA是持久层。除JPA之外的所有EJB都在EJB容器中运行。所有Java EE投诉服务器都提供这些

    在一个典型的三层体系结构中(然而现在它大多不止三层,但是三层更容易解释。JSF是您的Web层,EJB是您的业务层,JPA也是EJB规范的一部分,但不需要EJB容器)是您的ORM或持久化层。 不要过分担心word容器,您很快就会习惯它,而且很少需要担心它。如果您使用的是JavaEE服务器,那么一切都是为您设置的

    托管bean是否在EJB上调用了方法

    是的,上面已经解释过了。这里所有的繁重工作都在进行中。但是,将EJB与JSF结合使用不是强制性的。您可以使用任何其他框架,例如Spring,甚至可以编写简单的POJO,但这是另一个讨论领域。

    来自此链接

    托管Bean:

    托管Bean是一个在JSF中注册的常规Javabean类。换句话说,托管Bean是一个由JSF框架管理的Javabean

    从这个链接

    支持Bean:

    在JSF中,支持bean是JavaBean,主要用于提供UI逻辑和管理应用程序的web层和业务层之间的数据(类似于数据传输对象)。通常每个JSF页面都有一个支持bean。支持bean包含页面上使用的UI组件的逻辑和属性

    NB:

    为了在应用程序启动时支持bean可用,您需要 将其注册为具有名称和作用域的托管bean


    谢谢,这正是我想知道的。很好的回答:)