我们先看看ejb3的SLSB的实现:
import javax.ejb.Stateless;
@Stateless
public class HelloBean{
private String _greeting = "Default Hello";
public void setGreeting(String greeting)
{
_greeting = greeting;
}
public String hello()
{
return _greeting;
}
}
然后我们看看xml中的配置方法:
<ejb-server>
<bean type="...">
<init greeting="Hello, world"/>
</bean>
</ejb-server>
我们看到了什么?配置文件中把"Hello, world"传给了setGreeting作为参数,当然,EJB实现根据默认值生成了Hello接口;接口的方法实现中,直接调用return _greeting;,实际返回的是"Hello, world".
通过set方法来将需要的string传递给setGreeting,如果我们的需求发生了改变,我们只需要在配置文件中进行修改可以了,这,就是ioc模式中的
type2.
可见,EJB3采用的IOC模式和Spring采用的IOC一样,都采用了type2方式,学了spring,对我们以后学习ejb3也是很好的铺垫.