@EJB注释的总结

本文详细介绍了Java EE中EJB依赖注入的原理及配置方法,包括@EJB注解的不同属性使用方式及其对EJB引用解析的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SB InjectionBean

G:/dev/ws/SB/src/com/foshanshop/ejb3/Hello.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/Injection.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/impl/HelloBean.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/impl/InjectionBean.java

 

InjectionBean.java

 

package com.foshanshop.ejb3.impl;

import com.foshanshop.ejb3.Injection;
import com.foshanshop.ejb3.Hello;
import javax.ejb.Stateless;
import javax.ejb.Remote;
import javax.ejb.EJB;

 

@Stateless
@Remote (Injection.class)
public class InjectionBean implements Injection{

 @EJB (beanName="HelloBean")Hello hello;
 public String SayHello()
 {
  return hello.SayHello("注入者");
 }
}

@EJB注释的name(), beanName(), mappedName()属性

1.不带任何属性使用

如:@EJB Hello hello;

当Hello接口在EJB-JAR文件内只被一个Bean class使用时,可以这样引用,那么

容器是如何解析这一引用的呢?以下JBOSS的解析引用

 

・对于@EJB Hello hello而言,唯一的标识符是Hello接口,JBOSS应用服务器首

先在注入的EJB-JAR中查找使用Hello作为其本地或远程接口的EJB.如果有多个

EJB使用Hello业务接口,则容器会抛出一个部署异常。

 

・如果EJB-JAR作为EAR的一个模块被部署,那么容器就会在其EAR中包含的

EJB-JAR中查找使用Hello作为本地或远程接口的EJB。同样,如果有多个EJB使用

Hello业务接口,则容器会抛出一个部署异常。

 

・如果容器没有在EAR中找到该EJB引用,则它会在其他的全局EJB-JAR中继续查找。

 

・如果指定了beanName()属性,JBOSS同样的查找过程,但是它所使用的唯一标

符识将是beanName()的值,如果指定了mappedName()属性,则JBOSS将不会

进行任何搜索,他根据mappedName()的值在全局JNDI中获取EJB引用。

 

待续中...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值