刚学EJB,对于JNDI、annotations、依赖注入问题还是没完全纠结清楚。
服务器是weblogic。
当我发布一个ejb包到服务器上,然后在另一个web项目中一个普通类调用时出现了注入失败,空指针。
比如发布的ejbBean:
@Stateless(name = "TestBean")
public class TestBean implements TestInf{....}
//web.xml配置引用
<ejb-local-ref>
<ejb-ref-name>ejb/TestBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>包名.TestInf</local>
<ejb-link>TestBean</ejb-link>
</ejb-local-ref>
//业务类
public class Test{
@EJB(name="ejb/TestBean")
private TestInf testInf
}
项目发布到WebLogic中使用Test中的testInf的方法就会出现空指针,应该就是没注入成功吧。
但是我不知道为什么不能注入成功。(不是在ejb容器中使用的嘛)
当我使用上下文的lookUp("Java:comp/env/jeb/TestBean")能成功得到ejb。(难道不一样?
)
另外ejb之间相互注入也能成功。
我不是很理解这为什么不能注入成功。
分享到:
相关推荐
在本篇讲解中,我们将深入探讨Java企业版(Java EE)中的Enterprise JavaBeans(EJB)3技术,特别是如何通过注解方式来注入并使用其他的EJB或服务。EJB 3是Java EE中用于构建可扩展、分布式、事务处理和安全的企业级...
EJB3.0规范引入依赖注入,大大提高了代码的可测试性和可维护性。在EJB3.0中,依赖注入主要通过容器来实现,使得bean不再需要手动查找和管理依赖。 依赖注入的基本概念是,当一个对象(调用者)需要另一个对象(被...
Struts2在Action里注入EJB必须的包,因为Struts2 的Action是普通的Java类(po),不能直接将EJB注入,所以需要依赖这个包
【标题】"Idea搭建EJB架构Demo项目源代码"涉及的是使用IntelliJ IDEA(简称Idea)这个强大的Java集成开发环境来构建一个基于EJB(Enterprise JavaBeans)架构的示例项目。EJB是Java EE(企业版)平台的核心部分,...
EJB2和EJB3是EJB技术的两个主要版本,它们在架构上存在显著差异,尤其是在编程模型的简化、依赖注入(DI)和对象创建方式等方面。 EJB2的编程模型相对复杂,一个EJB通常需要两个接口(业务接口和远程接口)以及一个...
### EJB学习笔记第六部分详解...总之,掌握EJB之间的调用、依赖注入、EJB-jar文件的结构与配置等内容对于开发健壮的Java EE应用程序至关重要。通过理解并应用这些知识点,开发者能够构建出更为灵活、高效的企业级应用。
7. **依赖注入(Dependency Injection, DI)**:EJB3.0引入了JSR-299(后来成为CDI,Contexts and Dependency Injection)的早期形式,允许通过`@Inject`注解实现依赖的自动装配。 8. **查询语言(JPQL)**:Java ...
通过`@PersistenceContext`注解,可以在bean中注入EntityManager,然后使用它的方法进行数据操作。了解如何正确使用`find()`、`persist()`、`merge()`和`remove()`方法是学习EJB3的重点。 **六、EJB3-QL(Java ...
在`ejb-jar.xml`中,还可以定义安全性、依赖注入、定时器服务等高级特性。 `jboss-ejb3.xml`是JBoss AS 7特有的配置文件,用于扩展或覆盖`ejb-jar.xml`中的配置。这个文件允许开发者针对特定的JBoss实现进行更细致...
- **依赖注入**:EJB支持依赖注入,允许bean通过注解直接获取所需的其他bean或服务,如JDBC数据源、邮件服务等,而无需手动查找。 - **事务管理**:EJB支持声明式事务管理,开发人员只需在方法上添加事务属性,容器...
EJB(Enterprise JavaBeans)3.0是Java企业级应用开发的一个重要版本,它极大地简化了EJB的使用,降低了开发复杂性,并引入了许多新特性。在这个“ejb3.0写的登陆应用”中,我们可以深入探讨EJB 3.0在实现登录应用中...
4. **依赖注入(Dependency Injection)**:通过`@EJB`,`@Inject`等注解实现Bean之间的依赖关系,简化了配置。 5. **持久化框架(Persistence Framework)**:EJB3.0引入了JPA(Java Persistence API),提供了一...
4. **依赖注入(Dependency Injection)**:EJB3.0引入了JSR-250规范,提供了一种声明式的方式管理组件之间的依赖关系,减少了代码的耦合度。@Inject注解可用于注入需要的服务。 5. **容器管理的事务(Container ...
- **依赖注入**:通过Java EE的依赖注入机制,Bean可以获取其他服务或组件的引用。 4. **EJB与Web层交互** - **Servlet与JSP**:EJB通常与Servlet结合,处理HTTP请求,并通过JSP进行视图展示。 - **JSF(Java...
实战教程可能还会讲解如何部署和测试EJB应用程序,以及如何处理并发、事务和安全性等问题。 **ejb编程及j2ee系统架构设计** EJB编程涉及编写和配置bean,以及定义它们的行为和交互。在J2EE系统架构设计中,EJB是...
3. **依赖注入(Dependency Injection)**:EJB3支持JSR-330的依赖注入,通过`@Inject`或`@EJB`注解,可以方便地在组件之间注入依赖,减少了代码间的耦合。 4. **简化会话bean(Simplified Session Beans)**:EJB3...
理解EJB的生命周期、注入机制(例如,依赖注入通过@EJB注解)以及事务管理(EJB支持声明式事务管理)也是开发者需要掌握的关键概念。 文件名“pafa中使用ejb.doc”可能包含更详细的步骤、示例代码或案例研究,以...
通过深入学习和理解这些源代码,开发者可以更全面地掌握EJB的使用,包括会话bean的生命周期管理、数据访问、事务控制、定时任务、对象查询、Web服务调用以及依赖注入等关键技能,这对于提升企业级应用开发的能力至关...
3. **容器管理的依赖注入**:通过注解(@EJB)实现依赖注入,如引入其他Bean或JDBC数据源。 4. **测试和调用EJB**:使用JNDI查找机制找到Bean实例,并进行远程或本地调用。 5. **实验报告撰写**:记录实验过程,...
EJB 3.x之后的版本也逐渐融合了轻量级框架的特性,如依赖注入(DI)和AOP(面向切面编程)。 **6. EJB与微服务** 在微服务架构中,EJB可以作为服务之间交互的组件,通过RESTful API或JMS消息传递实现解耦。尽管...