向EJB添加依赖项

时间:2011-09-06 10:49:19

标签: java spring dependency-injection ejb weblogic

我想向EJB添加依赖项。我怎么用Spring做到这一点?从属对象是一般服务对象。根据下面的代码,我想连接myDependency而不必使用'new'。 EJB在weblogic中运行。

@Stateless(mappedName = "MyBean")
public class MyBean implements MyBeanRemote, MyBeanLocal {

    @EJB(name = "MyOtherBean")
    private MyOtherBean myOtherBean;


    private MyDependency myDependency;
    ...

}

1 个答案:

答案 0 :(得分:5)

这在Spring documentation

中有详细描述
  

对于EJB 3会话Bean和消息驱动Bean,Spring提供了一个   方便的拦截器解决了Spring 2.5的@Autowired   EJB组件类中的注释:   org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor中。   可以通过@Interceptors注释来应用此拦截器   EJB组件类,或通过拦截器绑定XML元素   在EJB部署描述符中。

@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class MyFacadeEJB implements MyFacadeLocal {

    // automatically injected with a matching Spring bean
    @Autowired
    private MyComponent myComp;

    // for business method, delegate to POJO service impl.
    public String myFacadeMethod(...) {
        return myComp.myMethod(...);
    }
    ...
}
然而,无状态EJB和Spring bean提供了或多或少相同的可能性。将它们混合在一起似乎是不必要的复杂性。

相关问题