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

EJB3 bean可以"自我注入"并通过EJB容器调用自己的方法吗?

在云计算领域,EJB3 bean是一种Java企业级组件,它提供了一种方法来实现自我注入,并通过EJB容器调用自己的方法。

EJB3 bean可以通过@EJB注解来实现自我注入。这个注解可以将一个EJB组件注入到另一个EJB组件中,从而使得EJB容器能够管理这个组件。通过这种方式,EJB组件可以调用自己的方法,从而实现自我注入。

在使用EJB3 bean时,需要注意以下几点:

  1. EJB3 bean必须是一个有状态的组件,因为它需要在多个请求之间保持状态。
  2. EJB3 bean必须是一个线程安全的组件,因为它可能会被多个线程同时访问。
  3. EJB3 bean必须是一个可扩展的组件,因为它可能会被多个应用程序同时使用。

总之,EJB3 bean可以通过自我注入来调用自己的方法,这是一种常用的Java企业级组件开发模式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于Java持久化相关资源汇集:Java Persistence API

问题:EJB专家团队是如何摆脱事务描述符? 回答:在会话bean和消息驱动bean中,可以通过描述符和注释来控制事务行为。...会话bean还是部署单元和公用服务边界。因此,会话bean是定义所有业务代码地方。换而言之,会话beanEJB容器关注,而JPA实现是在会话bean中使用。...问题:在JPA可以调用存储过程?...但是,我认为大多数实现也多少支持以相同方式调用存储过程。 问题:在EJB3中,更新实体bean单个字段/列会导致更新该DB行中所有字段/列,还是仅更新该DB行中更改列? 回答:该行为取决于实现。...JPA规范没有解决bean管理持久化,如果您希望实现自己持久化,应该继续使用BMP,或者最好使用会话bean façade进行自定义持久化。 问题:命名查询可以位于JPA实体以外

2.5K30

EJB3最新EJB标准

EJB3最新EJB标准。 Spring是一个框架。  Spring可以部分简化EJB本地和远程调用EJB3分消息驱动Bean、有、无状态Bean和实体Bean。分别服务于应用层和持久层。...JBossEJB3实体Bean部分底层核心是Hibernate。  Model层?是MVC中M?Spring支持配置表现层,Model可以通过Spring配置实现。...比如你可以用Spring配置Struts。EJB和表现层没有任何关系。Model和它关系只是Model可以调用EJB罢了。  EJB3持久层是一个新标准JPA。...EJB3实体Bean变化是最大,吸收了HibernateORM工具很多好思想。不过要注意,JPA不是Hibernate。JPA是标准,Hibernate是框架。...注意,它们不属于MVC任何一个部分。EJB属于应用层和持久层。Spring虽然有自己Spring MVC,但是本质上来说,Spring属于中间层框架。

95920

EJB学习纪要

EJB2太复杂了,算了,先从后面简化过了EJB3看起吧,完了再反过来看看2是个什么样子。...EJB最有价值东西是其服务理念,减轻了程序员编程负担,事务、安全等系统级需要考虑东西由容器提供。...RMI:EJB2里面一次客户端访问远程Session Bean会走两次RMI调用(一次是通过Home接口工厂方法获取远程接口,一次是通过远程接口访问实际调用业务方法),EJB3里面简化成了一次(Home...原理上说EJB正是通过RMI来实现分布式。但从实际情况来看,更多情况用是本地接口,即在一个JVM中直接调用对象。...总结:这个当年庞然大物,在后来Spring、Hibernate等轻量级框架冲击之下早就失去了吸引力,EJB3确实轻多了,实体Bean概念与2完全不同,接受Hibernate诸多理念。

39710

16.Spring前世今生与Spring编程思想

3、 对 Spring形成一个整体认识,为之后深入学习做铺垫。 4、 通过对本章内容学习,可以了解Spring版本升级规律,从而应用到自己系统升级版本命名。 5、Spring编程思想总结。...可能有人说了,比如"抽象工厂、工厂方法模式" 不也可以帮我们创建对象," 生成器模式" 帮我们处理对象间依赖关系,不也能完成这些功能?...到了 EJB3规范发 布时,其他基|=| 于POJO开发架构已经成为事实标准了,而 Spring框架也就是在这样大环境下出 现。...容 器 (在 Spring框架中是IOC容器)负责将这些联系在一起。 在典型IOC场景中,容器创建了所有对象,设置必要属性将它们连接在一起,决定什么时间调用方法。...spring-expression模块是统一表达式语言(EL )扩展模块,可以查询、管理运行中对象,同 时也方便可以调用对象方法、操作数组、集合等。

47060

经典笔试篇-EJB及Spring篇

它是基于Java 远程方法调用(RMI)技术,所以EJB 可以被远程访问(跨进程、跨计算机)。...EJB 实例业务方法时,如果对应EJB Object发现自己没有绑定对应Bean 实例则从其去激活Bean 存储中(通过序列化机制存储实例)回复(激活)此实例。...当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新Bean 实例,关联到客户机上,以后此客户机调用Stateful Session Bean 方法容器会把调用分派到与此客户机相关联...只要满足J2EE 规范EJB 放入该容器,马上就会被容器进行高效率管理。并且可以通过现成接口来获得系统级别的服务。...177、请写出spring 中I0C 三种实现机制。【中等难度】 答:三种机制为:通过setter 方法注入通过构造方法注入和接口注入。 178、写出你熟悉开源框架以及各自作用。

1.3K20

Java面试之EJB & Spring

它是基于Java 远程方法调用(RMI)技术,所以EJB 可以被远程访问(跨进程、跨计算机)。...EJB 实例业务方法时,如果对应EJB Object发现自己没有绑定对应Bean 实例则从其去激活Bean 存储中(通过序列化机制存储实例)回复(激活)此实例。...当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新Bean 实例,关联到客户机上,以后此客户机调用Stateful Session Bean 方法容器会把调用分派到与此客户机相关联...只要满足J2EE 规范EJB 放入该容器,马上就会被容器进行高效率管理。并且可以通过现成接口来获得系统级别的服务。...16、请写出spring 中I0C 三种实现机制。【中等难度】 答:三种机制为:通过setter 方法注入通过构造方法注入和接口注入。 17、写出你熟悉开源框架以及各自作用。

42930

EJB简单介绍和使用

因为JDBC代码写在A公司部分,那就必须让A公司程序知道B公司数据库详细结构。在一般情况下,这是不合理。比如,一个公司通过自己平台向银行转账,不可能知道银行数据库结构。...该接口也被A公司获取,A公司网上寻找相应B公司发布服务名称,然后通过接口调用B公司程序里面的方法。...该问题原型是:一个Java虚拟机内对象能否远程调用另外一个Java虚拟机里面的对象内方法?实际上,在Java内,该技术可以用RMI(远程方法调用)实现。而EJB底层,就是用RMI实现。...在较早版本EJB中,需要进行比较复杂配置,编写xml配置文件,在EJB3中,你可以选择编写配置文件,也可以将配置在代码中标明。...比如,在同一个EJB容器中,被另一个EJB访问。或者,在同一个项目中,被JSP或者Servlet访问,等等。和"远程调用"相比,本地调用性能更好,但是失去了远程调用功能。

3.4K20

重点来了:事务一致性深入研究&EJB全生命周期 | 从开发角度看应用架构5

有状态EJB(对象)是通过JNDI调用或CDI注入在应用程序服务器内存中创建,并且已准备好让其客户端调用其业务方法。...Ready: 无状态EJB(对象)通过JNDI调用或CDI注入在应用程序服务器内存中创建,准备好让客户端调用其业务方法。 ? 3....对bean并发访问策略可以通过部署描述符或代码级别注释来控制。...,即使它是从使用其自己事务上下文执行另一个方法调用。...刚增加注释会阻止容器管理事务允许EJB手动管理事务。 添加以下代码,以使用资源注入将UserTransaction类实例注入EJB中以进行手动事务管理: ?

75240

实战:将POJO类转换为EJB | 从开发角度看应用架构6

如果EJB客户端和EJB在同一个JVM进程中本地运行,则客户端可以使用@EJB注释直接向EJB引入注入。如果客户端是远程,则使用JNDI查找。...应用程序中EJB组件在应用程序服务器内容器上下文中运行。容器负责管理EJB生命周期(创建,执行和销毁)。每种不同类型EJB(无状态,有状态,单例,MDB)都有其自己生命周期。...在Java EE中,可以通过两种不同方式管理事务:容器管理事务(CMT)和Bean管理事务(BMT)。...注意到这个类注入ItemRepository类调用方法来添加,查看和列出所有todo项目。 ? ? 接下来,我们把POJO转化为无状态 EJB....注意到这个类需要使用ItemService EJB调用EJB方法,并向前端层提供JSON响应。 将ItemService EJB注入到ItemResourceRESTService类中。

1.1K50

Spring中控制反转究竟反转什么

依赖注入Bean之间依赖关系通过依赖注入(Dependency Injection,DI)来建立,容器负责将所需依赖项注入Bean中,而不是由Bean自身去寻找或创建这些依赖。...自动装配:Spring支持自动装配功能,可以通过@Autowired注解或其他机制自动匹配注入相应依赖服务。...远程访问:EJB支持远程调用,客户端可以通过RMI(Remote Method Invocation)协议访问部署在服务器上EJB组件。...这通过访问ApplicationContextBeanFactory来实现,即调用getBeanFactory()方法,该方法返回DefaultListableBeanFactory实现。...生命周期回调方法: 定义在bean生命周期中何时调用特定方法,例如初始化后(@PostConstruct)或销毁前(@PreDestroy)。

12510

POJO应用框架:Spring与EJB3.0比较

容器依据具体实现实例化服务对象,使他们为客户端所用。在不改变接口和客户端代码情况下,这使得容器可以在多种服务实现之间切换。 依赖注入模式是实现耦合松散应用最好方法之一。...它更易用,比其他方法也明了多了,比如通过JNDI依赖性查询或容器回调。使用DI,框架就像一个对象工厂,它创建服务对象然后按照运行时配置将这些服务对象注入到应用POJO里。...例如,下面的例子就是注入session context对象。应用从不会显示地调用setter方法,其在其他方法调用前由容器来触发。...标准通过注解可以注入服务器资源。...假如你想在EJB3.0应用中用SpringDI功能 ,你可以通过JNDI把一个Spring bean factory注入EJB

1.8K80

Inside Spring - learning notes - Jerry WangSpring学习笔记

过去,一个简单EJB组件需要编写远程/本地接口,Home接口以及Bean实现类,而且EJB运行不能 脱离EJB容器,查找其他EJB组件也需要通过JNDI,从而造成了对EJB容器和技术规范依赖。...用IoC容器,把资源获取方向反转,不是由组件自己去获取,而是让IoC容器主动管理依赖关系,将 依赖关系注入到组件中。 通过BeanDefinition来管理对象及相互依赖关系。 ?...Spring把这三 个过程分开,使用不同模块来完成,如使用相应ResourceLoader,BeanDefinitionReader等模 块,这样可以让用户更加灵活地对这三个过程进行剪裁或扩展,定义出最适合自己...在Spring IoC设计中,Bean定义载入和依赖注入是两个独立过程,依赖注入一般发生在应用第一 次通过getBean向容器索取Bean时。...在createBeanInstance中生 成了Bean所包含Java对象,这个对象生成有很多方式,可以通过工厂方法生成,也可以通过容器 deautowire特性生成,这些生成方法都是由相关BeanDefinition

41210

JavaEE中资源注入松耦合实现 | 从开发角度看应用架构13

注入对象特定实现决定可以延迟到应用程序部署时间。在其他框架中,注入基于字符串匹配。 CDI通过类型化注入改进了这一点,在编译时检查类型。...此外,CDI能够直接注入常规Java类,而资源注入不能注入常规类,而是通过JNDI名称引用资源。 二、比较EJB和CDI 区分EJB和CDI很重要,因为两个规范之间功能有重叠。...在JBoss EAP上运行Java EE 7应用程序中,开发人员通常会将这两种技术相互结合使用。 所有EJB都是CDI bean,因此可以访问依赖注入,并且有资格自己注入。...在创建bean时,如果不需要EJB功能,最好不要使用EJB。 相反,使用CDI来管理上下文和依赖注入。...生成器是生成可注入对象方法或对象属性。Produces优点是可以使非bean对象可注入

1.1K20

了解 Spring Data JPA

它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用形象,充分吸收了在开源社区已经相对成熟 ORM 思想。另外,它并不依赖于 EJB 容器可以作为一个独立持久层技术而存在。...Java持久化规范,是从EJB2.x以前实体Bean(Entity bean)分离出来EJB3以后不再有实体bean,而是将实体bean放到JPA中实现。...其次,Spring 实现了部分在 EJB 容器环境下才具有的功能,比如对 @PersistenceContext、@PersistenceUnit 容器注入支持。...Spring Bean,业务层便可以通过 Spring 自动封装特性来直接使用该对象。...同时,开发者也可以在业务层方法上使用 @Transactional 指定事务属性,这主要针对一个业务层方法多次调用持久层方法情况。

1.9K20

史上最全69道Spring面试题和答案

Setter方法注入:Setter方法注入容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用beansetter方法,即实现了基于setter依赖注入。 20....如果bean实现了 DisposableBean,它将调用destroy()方法。 28. 哪些是重要bean生命周期方法? 你能重载它们?...有两个重要bean 生命周期方法,第一个是setup , 它是在容器加载bean时候被调用。第二个方法是 teardown 它是在容器卸载类时候被调用。...The bean 标签有两个重要属性(init-method和destroy-method)。用它们你可以自己定制初始化和注销方法。...你可以在Spring中注入一个null 和一个空字符串可以。 Spring注解 ---- 36. 什么是基于JavaSpring注解配置? 给一些注解例子.

25220

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

在Java中,能够实现远程对象调用技术是RMI,而EJB 技术基础正是RMI。通过RMI 技术,J2EE将EJB 组件创建为远程对象,客户端就可以通过网络调用EJB 对象了。...与Java bean不同,MDB通过依赖注入其他Bean(类),是实现其他接口方法。MDB所有通信都通过JMS进行。每个MDB都配置为使用受管理对象侦听特定JMS目标。...激活MDB,其实就是将它注册到EJB容器配置MDB用于确定要侦听目标的受管对象。...更新ItemService以注入JMSClient EJB。 添加对ItemService类中update()方法调用,以使用注入JMSClient实例在每次更新项目时发送JMS消息。...注意到这个类注入ItemRepository类调用方法来添加,查看和列出所有todo项目。 ? ? 接下来,我们把POJO转化为无状态 EJB.

95720
领券