向EJB添加依赖项

str*_*r77 3 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;
    ...

}
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 5

这在Spring文档中有详细描述:

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

@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(...);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

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