EJB学习笔记七依赖注入

1.前言

在EJB中也为我们提供了依赖注入的功能,关于什么是依赖注入,在此就不再多分析了。


2.EJB注入

在EJB中注入一般使用的就是@EJB或者@EJBS,两者的区别莫过于注入的类可以实现多个接口。下面来看一下@EJB用到的属性

beanInterface:该属性指定被注入EJB所实现的接口

name:该属性用于指定被注入Bean在JNDI ENC中注册名称,该名称在不同应用服务器中可能存在差异。

beanName:该属性指定被注入EJB的名称,其值与被注入Bean中@StateLess.Name所指定的值相同。

mappedname:该属性指定被注入EJB的JNDI名。


3.Demo展示

被注入的Bean实现类

package com.Injection;

import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
@Remote (RemoteHello.class)
public class HelloBean implements RemoteHello{

	public String SayHello(String name) {
		return name+"˵,HelloBean远程调用!";
	}
}


注入类


package com.Injection;

import javax.ejb.EJB;
import javax.ejb.EJBs;
import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
@Remote (Injection.class)
public class InjectionBean implements Injection { 
    @EJB (beanName="HelloBean")    
    RemoteHello helloworld;
	public String SayHello() {  
        return helloworld.SayHello("你好吗");
    }
}


4.疑惑

做这个例子的时候,发现如果不提供set方法的话,也能够注入成功。不知道为何……………………

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...