首页
学习
活动
专区
工具
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、PO、DTO、VO、BO ? 什么是EJB、EntityBean?

    按照Martin Fowler的解释是“Plain Old Java Object”,字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。...另外,我们要给具有业务逻辑处理的规则的Java对象(regular java objects)起了一个名字——POJO,这些Java对象不是EntityBeans(EJB规范中专门用于封装数据库访问的一种组件...POJO里面是可以包含业务逻辑处理和持久化逻辑,也可以包含类似与JavaBean属性和对属性访问的set和get方法的。...简而言之,当一个POJO可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。(没毛病!)...因此,也可以通过嵌在JSP页面内的Java代码访问Bean及其属性。 4、什么是EJB 、Entity Bean?

    3.3K20

    今儿咱说说消息那些事 | 开发角度看应用架构17

    Java EE中的对象大致有三类:POJO、JavaBean、EJB POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通...JSP通常访问的是后一种JavaBean。 企业Java Bean(EJB)是一种Java EE组件,通常用于在企业应用程序中封装业务逻辑。...当然,我们是可以将一个POJO转化为EJB的。具体的方法参照本文的实验三。...消息队列获取消息: ? 八、实验三:POJOEJB的转换 通过JBDS导入一个已经存在的maven项目: ? 查看源码:Item.java类。这个类在应用程序中建模一个todo项目。...接下来,我们把POJO转化为无状态的 EJB. 使用@Stateless注释标注ItemService类以将此POJO转换为EJB。 ?

    1K20

    设计概念的统一语言

    Martin Fowler等人之所以提出POJO,是因为他们看到了使用POJO封装业务逻辑的益处,而在2000年那个时代,恰恰是EJB开始流行的时代,受到EJB规范的限制,Java开发人员更愿意使用Entity...当然,Entity Bean与EJB框架紧耦合的为人诟病,主要是针对EJB 3.0之前的版本,随着Spring与Hibernate等轻量级框架出来之后,EJB也开始向轻量级方向发展,通过大量使用标注来降低...这意味着框架使用Java Bean,看重的其实是该对象携带的数据,且能够减少不必要的访问代码。...这个术语来自Martin Fowler的创造,贫血这个词可知,这样的一种领域模型必然是不健康的,它违背了面向对象设计的关键原则,即“数据与行为应该封装在一起”。...DAO DAO(Data Access Object,数据访问对象)作用在映射了关系表的PO之上对其进行持久化,实现对数据的访问

    76810

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

    在由领域模型往某种编程语言如Java上来实现的时候,绝对不会是1:1的对应关系,即使是粗颗粒度的EJB2模型都做不到,更不要说更加强调细颗粒度的POJO模型呢?...现在我们使用基于POJO模型的实现,那么粗颗粒度的EJB还要继续细分:一个Entity Bean要剥离出来至少三个以上的POJO,即一个或者多个实体类,一个或者多个DAO接口类,一个或者多个DAO接口实现类...POJO指的就是非EJB那种重量级,高侵入性的组件模型,关于POJO的定义,你同样可以在Martin Fowler的bliki上面找到。 Spring的Bean是不是POJO? 是的!...Hibernate的entity是不是POJO?是的! DAO接口是不是POJO?是的! EJB是不是POJO? 不是的!...技术手段来上说,对于Spring/Hibernate架构,Martin的Rich domin model变得可行了

    42720

    大白话说前端应用 | 开发角度看应用架构10

    同时,EJB container还提供了对后端数据库的访问功能等。 三、前端框架 截至到目前,我们搞清楚了web server、web container、EJB container。...如果数据存到数据库中,需要通过EJB container做OR Mapping,将Entity实例化,以便应用访问数据。 这里,我举个例子。...ItemService.java类,它是一个简单的POJO类,它通过CDI方式引用ItemRepository.java类。...接下来,我们先把POJO转化为无状态的 EJB. 使用@Stateless注释标注ItemService类以将此POJO转换为EJB。 ?...通过运行以下命令来构建和部署EJB到JBoss EAP: ? ? 查看EAP日志: ? ? 访问应用: ? 我们添加条目,然后观察日志: ? ? 查坎EAP日志: ?

    1.1K30

    Spring 框架学习 (一) Spring Bean 的初识

    POJO & Java Bean i) 什么是 POJO POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称...Java Bean 是不能被跨进程访问的。...POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象...该方案相当于定义了public的set方法,但是因为没有真正的set方法,从而不会为了实现依赖注入导致暴露了不该暴露的接口(因为set方法只想让容器访问来注入而并不希望其他依赖此类的对象访问)。...所以要使用 Bean,我们就先要知道 Bean 的上下文信息包含在哪一个文件中,然后改文件中获取 Bean 的上下文信息。再然后就是从上下文中获取我们需要的 Bean。

    29820

    持久化ORM框架——Hibernate与mybatis

    最初SUN公司推出了JavaEE服务器端组件模型(EJB),但是由于EJB配置复杂,且适用范围较小,于是很快就被淘汰了。与EJB的失败伴随而来的是另外一个框架的应运而生。...Hibernate(适用于场景不太复杂,要求性能不苛刻)   Hibernate是建立在POJO和数据库模型的直接映射关系上的。   ...Hibernate是建立在若干POJO通过XML映射文件(或注解)提供的规则映射到数据库表上。换句话说,我们可以通过POJO直接操作数据库的数据。它提供的是一种全表映射的模型。...Hibernate的XML文件描述的是POJO和数据库表的映射关系。Hibernate通过配置文件(或注解)就可以把数据库的数据直接映射到POJO上,我们可以通过操作POJP做操作数据库记录。...MyBatis(灵活的、可以动态生成映射关系的框架)   MyBatis是一个半自动映射的框架,它需要手工匹配提供POJO,SQL和映射关系,而全表映射的Hibernate只需要提供POJO和映射关系便可

    55130
    领券