Java 向EJB添加依赖项

Java 向EJB添加依赖项,java,spring,dependency-injection,ejb,weblogic,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 myOth

我想向EJB添加一个依赖项。如何使用Spring来实现这一点?从属对象是一般服务对象。基于下面的代码,我想连接myDependency,而不必使用“new”。 EJB在weblogic中运行

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

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


    private MyDependency myDependency;
    ...

}

以下章节对此进行了详细描述:

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


然而,无状态EJB和Springbean提供了或多或少相同的可能性。将它们混合在一起似乎是不必要的复杂性。

谢谢。想知道我是否可以在不使用Springbean的情况下添加依赖项,或者尝试这样做是否会导致其他设计问题?MyDependency类所属的模块是其他模块使用的实用程序模块。MyDependency是一个调用第三方服务的util类。Spring只能注入Springbeans。我最终用一个新的EJB替换了MyDependency。这避免了EJB和Spring组件的混合,并且有意义,因为新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(...);
    }
    ...
}