在一个项目中EJB的数量可以有很多,EJB之间也会相互调用,那我们如何在一个EJB内部调用其他的EJB呢??
在一个EJB的项目中,创建另一个接口:
public interface Other {
public String sayMe();
}
然后创建该接口的实现类:
@Stateless
public class OtherBean implements Other{
public String sayMe() {
return "other";
}
}
我们要在HelloWordBean.java中调用OtherBean的sayMe()方法。那么如何在HelloWordBean中获得OtherBean??
如果直接在helloWordBean中直接new OtherBean()的话,是错误的。因为它不是EJB对象额。但我们可以通过另外另外两种方式获得。
1. JNDI
在HelloWordBean的sayHello(String name)方法中加入如下代码:
try{
InitialContext ctx = new InitialCOntext();
Other other = (Other) ctx.lookup(“OtherBean/local”);
return other.sayMe();
}catch(NamingException e){
}
然后部署EJB,运行客户端,可以看到其运行结果正常。
2. 依赖注入(ejb注解)
在HelloWorldBean中加入如下代码:
@EJB(beanName=”OtherBean”) Other other;
注意该注解只能注解EJB。如果要注入其他的资源可采用
@Resource TimeService timeService;
@Resource(mappedName=”java:xxx”)DataSource dataSource;(mappedName:用来指定datasource的名称)
分享到:
相关推荐
尽管JPA允许使用注解代替XML配置,但仍然需要一个名为persistence.xml的配置文件来指定数据源和其他服务器特定的属性,如在JBoss中配置Hibernate。 ```xml <persistence-unit name="Ejb3Tutorial"> ...
7. 增强EJB功能:涵盖Bean的调用、公共注解、依赖注入和拦截器,这些都是EJB的重要特性。 8. 实体高级部分:深入探讨实体Bean的高级特性和用法。 9. 事务管理:如何在EJB中处理事务,确保数据的一致性和完整性。 10....
1. **减少模板代码**:通过使用注解,开发者可以避免编写大量重复的模板代码,例如在创建JAX-RPC Web服务时,可以使用注解来自动生成接口和实现。 2. **简化配置文件**:某些API需要与程序代码一同维护的配置文件,...
EJB组件主要用于解决复杂的业务问题,能够执行各种任务,例如执行业务逻辑、访问数据库、与其他系统集成、提供富客户端支持、生成动态Web页面以及作为Web服务客户端。EJB组件分为不同的类型,其中会话Bean(Session ...
7. EJB增强功能:包括Bean的调用、公共注解、依赖注入和拦截器,这些都是提升EJB功能的关键技术。 8. 实体高级部分:深入研究实体Bean的高级特性,如关系映射和查询。 9. 事务管理:理解EJB中的事务模型和ACID属性。...
理解EJB的生命周期、注入机制(例如,依赖注入通过@EJB注解)以及事务管理(EJB支持声明式事务管理)也是开发者需要掌握的关键概念。 文件名“pafa中使用ejb.doc”可能包含更详细的步骤、示例代码或案例研究,以...
- **部署应用**:学习如何将打包好的 EJB 应用程序部署到 WebLogic Server 上,包括使用命令行工具或者通过管理控制台进行部署。 2. **EJB 3.0**: - **实体 Bean(Entity Beans)**:EJB 3.0 引入了注解,使得...
EJB 3.0引入了注解驱动的编程模型,减少了XML配置,简化了实体bean、会话bean和消息驱动bean的创建。此外,EJB 3.0支持了依赖注入和持久化管理,进一步提升了开发效率。 2.4 Servlet技术简介 Servlet是Java EE中的...
4. **依赖注入(Dependency Injection)**:EJB 3.0引入了依赖注入的概念,通过@EJB、@Inject或@PersistenceContext注解,可以自动注入所需的资源和服务,减少了手动创建和管理对象的复杂性。 5. **查询语言JPA QL...
文档"三种事务配置方法.doc"详细介绍了在J2EE环境中管理事务的三种方式,特别是使用Spring框架进行事务处理。以下是这些方法的详细说明: 1. 声明式事务管理: 声明式事务管理是最常见且推荐的方法,它允许开发者...
例如,`@WebService`注解用于声明一个类作为Web服务,而`@PersistenceContext`用于注入持久化上下文,这些都是通过注解简化了的常见任务。 **统一异常处理**简化了错误处理流程。在Java EE 5之前,不同的容器和组件...
7. **依赖注入**:JSF集成了Java EE的依赖注入(DI)功能,使得Managed Beans可以方便地注入其他服务,如EJB、CDI Bean等。 8. **集成与扩展**:JSF可以与其他Java EE技术无缝集成,如JPA(Java Persistence API)...
Spring可以很好地与J2EE组件结合,例如,Spring可以使用EJB进行远程调用,或者使用JMS实现消息传递。Spring的轻量级特性使得它在J2EE环境中可以作为补充,减轻了对J2EE组件的依赖,提高了开发效率。 **文件结构解析...
**EJB系统开发实战录** Enterprise JavaBeans...通过对"赴IBM软件工程师20人.doc"和"EJB系统开发实战录"的学习,开发者不仅能理解EJB的基本概念,还能掌握其在实际项目中的应用,从而提升自己的企业级应用开发技能。
通过XML配置文件或注解,容器能够理解对象间的依赖,并在运行时自动注入,减少了代码的硬编码和紧耦合。容器提供了基于setter方法和构造函数的两种注入方式。 2. **AOP(面向切面编程)**:Spring提供了AOP实现,...
- 依赖注入可以通过手工装配(直接在代码中创建和关联对象)或自动装配(如Spring框架的@Autowired注解)来实现。 8. **AOP实现**: - JDK动态代理和CGLib动态代理是Spring AOP实现的基础,用于实现方法拦截。 9...
EJB(Enterprise JavaBeans)是Java EE平台中的一个核心组件,用于构建企业级分布式应用程序。EJB3是其第三个主要版本...通过阅读EJB3.doc文档,你可以深入了解EJB3的每个方面,并逐步成长为一名熟练的Java EE开发者。
19. **Spring**:控制反转(IoC)和依赖注入,AOP实现事务管理,Spring与其他框架如Struts2、Hibernate的整合。 20. **JSF(选学)**:MVC框架,托管Bean,导航模型,标签库,类型转换和输入验证。 21. **EJB及...
除了基础的邮件服务、工作流支持,Seam还能够轻松整合其他工具和库,如EJB、JMS、WS等,提供一站式解决方案,这在某些方面甚至超越了Spring的集成能力。 总之,Seam作为一个创新的Java框架,通过其独特的设计和功能...