首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从POJO访问EJB

POJO(Plain Old Java Object)是指普通的Java对象,它不依赖于任何特定的框架或技术。POJO的设计原则是简单、轻量级、可重用,它通常只包含属性和对应的getter和setter方法。

EJB(Enterprise JavaBean)是一种用于开发企业级应用程序的服务器端组件模型。它提供了一种分布式事务处理、持久性和安全性的解决方案。EJB可以被POJO访问,通过EJB的远程接口或本地接口,POJO可以调用EJB提供的服务和功能。

EJB的分类:

  1. Session Bean(会话Bean):用于处理特定会话的业务逻辑,包括无状态和有状态两种类型。
    • 无状态Session Bean:不保存客户端的状态信息,适用于处理独立的请求。
    • 有状态Session Bean:保存客户端的状态信息,适用于需要跟踪客户端状态的场景。
  2. Entity Bean(实体Bean):用于表示持久化数据的实体对象,通常与数据库表对应。
    • CMP(Container-Managed Persistence):容器管理的持久化,由EJB容器负责实现数据的持久化和管理。
    • BMP(Bean-Managed Persistence):Bean管理的持久化,开发人员需要自己实现数据的持久化和管理。
  3. Message-Driven Bean(消息驱动Bean):用于异步处理消息的组件,基于消息队列的模式。

EJB的优势:

  1. 分布式事务管理:EJB提供了容器级别的事务管理,可以确保跨多个组件的操作具有一致的事务性。
  2. 安全性:EJB提供了安全性的机制,可以对方法进行权限控制和身份验证。
  3. 事务管理:EJB容器负责管理事务的开始、提交和回滚,简化了开发人员的工作。
  4. 高度可重用性:EJB的组件可以在不同的应用程序中进行重用,提高了开发效率和代码的可维护性。

EJB的应用场景:

  1. 企业级应用程序:EJB适用于开发大型的企业级应用程序,可以处理复杂的业务逻辑和数据操作。
  2. 分布式系统:EJB提供了分布式事务管理和远程调用的能力,适用于构建分布式系统。
  3. 消息处理系统:EJB的消息驱动Bean可以用于异步处理消息,适用于消息队列的场景。

腾讯云相关产品和产品介绍链接地址:

  1. 云服务器(CVM):提供弹性计算能力,支持按需购买和预付费模式。产品介绍链接
  2. 云数据库MySQL版(CDB):提供高可用、可扩展的MySQL数据库服务。产品介绍链接
  3. 云原生容器服务(TKE):提供高度可扩展的容器化应用程序管理平台。产品介绍链接
  4. 云安全中心(SSC):提供全面的云安全解决方案,包括安全运营、安全防护、安全合规等。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 究竟什么是POJO?

    大家好,又见面了,我是你们的朋友全栈君。 POJO(Plain Old Java Object)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。 我在做J2EE培训中发现我的很多学生问我什么是POJO,后来我在写书(《Spring2初学者实践教材》和《Spring2初学者实践教材》)的时候发现POJO这个概念无法回避。现在网上对于POJO的解释很多,但是很多都是有错误的或者不够准确。对此我一开始也是存在误区的,我原来是这样理解的: POJO是这样的一种“纯粹的”JavaBean,在它里面除了JavaBean规范的方法和属性没有别的东西,即private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JavaBean很“单纯”,它只能装载数据,作为数据存储的载体,而不具有业务逻辑处理的能力。 所以下面的代码被认为是POJO了。

    03

    一个Entity Bean要剥离出来至少三个以上的POJO

    一个并没有行业经验积累的软件公司,它开发的软件,基本上完全是需求驱动,而不是领域模型驱动。只有具备了领域模型积累的公司才有资格去谈领域模型驱动软件开发。在由领域模型往某种编程语言如Java上来实现的时候,绝对不会是1:1的对应关系,即使是粗颗粒度的EJB2模型都做不到,更不要说更加强调细颗粒度的POJO模型呢?用面向对象的语言如Java来编写一个领域模型,如果是用EJB2模型,你需要使用最少两个以上的EJB,即一个 Session Bean,处理面向流程的控制逻辑,一个Entity Bean,处理面向持久化的实体逻辑(持久化操作附着在Entity Bean的Home接口上)。如果是更加复杂的领域模型,那么你需要更多的EJB,也许是一个领域模型需要多个Entity Bean和多个Session Bean。现在我们使用基于POJO模型的实现,那么粗颗粒度的EJB还要继续细分:一个Entity Bean要剥离出来至少三个以上的POJO,即一个或者多个实体类,一个或者多个DAO接口类,一个或者多个DAO接口实现类;一个Session Bean要切分为多个业务Bean。

    02

    EJB 3.0 规范的变化可以大致分成2大部分

    EJB 3.0 规范的变化可以大致分成2大部分: 1、 使用了jdk1.5中提供的 annotation 机制的编程模型。在EJB2.1中采用一些接口和部署时的描述符来完成类似的功能。  EJB的 annotations  在EJB3中所有的企业Bean都是POJO(Plan old Java object)和一些相关的描述符。用描述符可以用来定义Bean需要实现的 接口、O/R 映射时需要的信息、需要引用的资源等等。 2、 提供了一个基于Hibernate的 O/R Mapping 工具, EJB QL 发生了重大的变化。   当一个实体POJO类和EntityManager建立关系后,这个类就是可以实例化的类了,同时就时实例化上下文的一个部分。  JB3.0虽然提供了新的更简单的编程方法,但仍然保持向下兼容,EJB2.1中的部署描述符和 home/remote接口仍然有效。 目前EJB3.0支持的Annotations 包括: @Entity @Stateless @Remote @TransactionAttribute @Table @Id @Basic @Column @ManyToOne @OneToMany @ManyToMany @JoinColumn @AssociationTable

    03
    领券