Session Bean 依赖注入
1、新建依赖注入的接口
package com.chenzhq.injection;
import javax.ejb.Remote;
import com.chenzhq.ejb.HelloWorldRemote;
@Remote({IInject.class})
public interface IInject {
public HelloWorldRemote getHelloWorld();
}
2、实现IInject接口
/*
* @author chenzhq
*/
package com.chenzhq.injection;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.Remote;
import javax.ejb.SessionContext;
import javax.ejb.Stateful;
import com.chenzhq.ejb.HelloWorldRemote;
@Stateful
@Remote ({IInject.class})
public class InjectHelloWorld implements IInject {
/*
* EJB声明是使用方法。
* @EJB (name="HelloWorldLocal") name属性是指定需要注入的bean的名字,不需要带包名字。
* @EJB (mappedName = "HelloWorldRemote")mappedName属性是在Jndi的范围内寻找你的部署的资源,属性值是资源的jndi的名字
*/
@EJB private HelloWorldRemote hw;
/*
* Resource的使用方法和EJB的使用大体是一样的,只是注入的资源不一样,Resource是针对Jndi树上的所有资源的。
*
*/
@Resource private SessionContext sc;
private HelloWorldRemote hwr;
public HelloWorldRemote getHelloWorld() {
// TODO Auto-generated method stub
return hwr;
}
}
3、.注入还可以通过ejb-jar.xml来实现。有兴趣可以学习一下,感觉上声明方式的注入
是硬编码,不向xml这样灵活。
4、写个Test。
package com.chenzhq.test;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.EntityManagerFactory;
import javax.rmi.PortableRemoteObject;
import com.chenzhq.ejb.HelloWorldRemote;
import com.chenzhq.injection.IInject;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "jnp://192.168.40.241:1099");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
try {
InitialContext ic = new InitialContext(props);
//IInject iinject = (IInject)
//HelloWorldRemote hwr =(HelloWorldRemote)ic.lookup("HelloWorld/remote");
IInject ii = (IInject)ic.lookup("InjectHelloWorld/remote");
//System.out.println(hwr.toString());
//System.out.println(hwr.say("chenzhq"));
//PortableRemoteObject pro;
//EntityManagerFactory emf;
//PortableLocalObject plo;
HelloWorldRemote hwr = iinject.getHelloWorld();
System.out.println(hwr.say("chenzhq"));
} catch (NamingException e) {
// TODO Auto-generated catch block
System.out.print(e);
e.printStackTrace();
}
//
}
public void test(){}
}
分享到:
相关推荐
ejb-api-3.0-sources ejb3.0资源文件,源代码文件
《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...
- `ejb-3_0-fr-spec-simplified.pdf`:这个版本可能提供了一个简化的EJB3.0规范概述,方便初学者快速理解EJB3.0的关键特性。 通过深入学习这些文档,开发者可以全面掌握EJB3.0规范,有效提升在Java企业级应用开发中...
标签:agent-ejb-3.0-beta-1.jar,agent,ejb,3.0,beta,1,jar包下载,依赖包
标签:agent-ejb-3.0-beta-1-javadoc.jar,agent,ejb,3.0,beta,1,javadoc,jar包下载,依赖包
标签:agent-ejb-3.0-beta-1-sources.jar,agent,ejb,3.0,beta,1,sources,jar包下载,依赖包
标签:agent-car-ejb-3.0-beta-1-sources.jar,agent,car,ejb,3.0,beta,1,sources,jar包下载,依赖包
NULL 博文链接:https://xiaocong1001.iteye.com/blog/258852
ejb-3_0-fr-javadoc.zip包含的是EJB 3.0的官方API文档,是开发者理解和使用EJB 3.0 API的重要资源。API文档详细列出了所有可用的接口、类和注解,以及它们的用途和方法。以下是一些关键API组件: - **@Entity**: ...
EJB(Enterprise JavaBeans)3.0是Java企业级应用开发的一个重要标准,它定义了如何在Java EE(Java Platform, Enterprise Edition)环境中构建可复用的、组件化的服务器端应用程序。EJB 3.0的发布极大地简化了EJB的...
EJB(Enterprise JavaBeans)...ejb-3_0-fr-spec-ejbcore.pdf、ejb-3_0-fr-spec-persistence.pdf和ejb-3_0-fr-spec-simplified.pdf这三份文档共同构成了EJB 3.0的完整知识体系,是深入理解EJB 3.0规范的重要参考资料。
在这个"ejb3.0开发实例(java工程)"中,我们将深入探讨EJB 3.0的主要特性和开发实践。 1. **注解驱动**:EJB 3.0最大的变革之一就是大量使用注解(Annotation),减少了XML配置文件的使用。例如,@Stateless、@...
EJB(Enterprise JavaBeans)3.0 是一种用于构建分布式企业级应用程序的组件模型,它在Java平台上提供了标准的服务端组件。EJB架构确保了应用的可伸缩性、事务性和多用户安全性,使得开发者能够构建可靠且强大的业务...
- **书籍推荐**:《EJB3.0入门经典》,该书详细介绍了EJB 3.0的核心概念和技术要点,适合初学者入门。 - **电子资源**:《EJB3.0实例教程》免费电子版,提供了大量的实战案例和示例代码,有助于加深理解。 #### 九...
压缩包中的文件如“ejb-3_0-fr-spec-persistence.pdf”、“ejb-3_0-fr-spec-simplified.pdf”和“ejb-3_0-fr-spec-ejbcore.pdf”可能是EJB 3.0官方规范的文档,分别详细阐述了持久化、简化的规范和核心EJB 3.0的内容...
罗时飞精通EJB3.0.zip.001 罗时飞精通EJB3.0.zip.002 罗时飞精通EJB3.0.zip.003 《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和...
### EJB2.0与EJB3.0的主要区别 #### 一、简介 企业Java Beans(EJB)是Java平台为企业级应用提供的一种组件模型。随着技术的发展,EJB经历了多个版本的迭代,其中EJB 2.0和EJB 3.0是两个重要的里程碑版本。本文将...