对于EJB3.0来说,依赖注入就是由容器负责查找被依赖的对象并注入到依赖bean中,而bean本身不再需要进行JNDI或者context查询。此外,依赖注入发生在任何业务方法被调用之前,而且支持setter方法注入和域注入两种方式。

  通过与标注结合使用,在bean类中声明依赖注入是非常简单的 (当然,也可以在部署描述符文件中声明依赖注入):

  @EJB 用于注入EJB业务对象

  @PersistenceUnit 用于注入EntityManagerFactory

  @PersistenceContext 用于注入EntityManager

  @Resource 用于注入其它资源对象,如连接工厂、消息目标等


示例:
@Stateless
public class ServiceBean implements ServiceRemote {
    private DataSource ds;

    @Resource(mappedName="LocalDataSource")
    public void setMyDS(DataSource ds) {
        this.ds = ds;
    }

    @EJB(beanName=“AccountBean")
    private AccountRemote account;
}



在何处可以使用依赖注入?

EJB3.0依赖注入仅可以由受管对象使用,受管对象是指由Java EE容器管理的对象,比如EJB或Servlet,而不是那些诸如助手类(helper class)的一切类。例如,如果我们有一个EJB,我们可以在EJB3.0使用依赖註入,而不是在它所依赖的助手类上使用依赖注入。下表列出了在web 和EJB模块中支持依赖注入的类型:
  • 17e2be9d-d90a-42eb-9ff9-2b20beff81c5-thumb
  • 描述:
  • 大小: 18.4 KB
评论
发表评论

您还没有登录,请登录后发表评论

zelsa
搜索本博客
最近加入圈子
存档
最新评论