我們先看看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也是很好的鋪墊.