【问题标题】:why should java beans be used? [duplicate]为什么要使用 java bean? [复制]
【发布时间】:2013-05-28 17:29:29
【问题描述】:

我是 j2ee 的新手,想了解 java bean。我有一个 java 类,并在另一个类中使用该类的实例。我应该将第一个类定义为java bean然后在另一个类中注入它的实例的原因是什么?那有什么好处呢?什么样的类更适合定义为 java bean?比如我可能有一个 pojo 用在 ORMapping 中,一个类做 UI(我用 vaadin 做 UI),另一个类做业务逻辑(例如,计算结果具体数学公式),另一个类做做数据库操作。使用 ejb 或 spring 定义为 java bean 的候选者是哪一个?

【问题讨论】:

    标签: java spring ejb javabeans


    【解决方案1】:

    JavaBeans 名称仅涉及为类的公共属性提供访问器方法的约定。 POJO 是一个正交概念,Java bean 也很容易成为 POJO。

    您似乎正在考虑在 Spring IoC 容器的上下文中使用 bean。 Spring 在相当宽松的意义上使用术语“bean”,实际对象甚至可能不符合 JavaBeans 规范。大多数情况下,它们只提供一个 setter(没有 getter)。

    现在,让 IoC 容器将相互依赖的对象连接在一起的好处很多,强烈推荐这种做法。几点:

    1. bean 实例化的关注点是集中的;
    2. bean 之间的耦合更少:客户端 bean 不需要知道如何初始化其协作者;
    3. 非常容易处理循环依赖问题;
    4. 没有涉及实例化的样板代码散布在代码周围;
    5. 轻松重用单例 => 节省内存,为对象系统带来秩序和一致性;
    6. bean 生命周期的声明式控制,同样在 bean 本身中没有样板代码。

    【讨论】:

      【解决方案2】:

      Java bean 用于将数据持久存储在数据库中。这个类由setter和getter方法组成。您需要创建另一个 java 类来执行此操作

      【讨论】:

        【解决方案3】:

        来自 javadocs:

        JavaBeans™ 可以轻松重用软件组件。开发者可以 使用他人编写的软件组件,无需了解 他们的内部运作。

        要了解软件组件为何有用,请考虑一个工人 组装汽车。而不是从头开始构建收音机, 例如,她只是简单地获得了一台收音机并将其与其他人连接起来 车。

        【讨论】:

          猜你喜欢
          • 2010-12-30
          • 2011-03-04
          • 1970-01-01
          • 2013-09-18
          • 2012-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-08
          相关资源
          最近更新 更多