向 EJB 添加依赖项

发布于 2024-12-02 22:06:06 字数 351 浏览 1 评论 0原文

我想添加对 EJB 的依赖项。我如何使用 Spring 来做到这一点?依赖对象是通用服务对象。根据下面的代码,我想连接 myDependency 而不必使用“new”。 EJB 在 weblogic 中运行。

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

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


    private MyDependency myDependency;
    ...

}

I want to add a dependency to an EJB. How do I do this using Spring? The dependent object is a general service object. Based on code below I want to wire myDependency without having to use 'new'.
The EJB runs in weblogic.

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

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


    private MyDependency myDependency;
    ...

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

束缚m 2024-12-09 22:06:06

这在 Spring文档

对于 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 提供了或多或少相同的可能性。将它们混合在一起似乎是不必要的复杂性。

This is well described in the Spring documentation:

For EJB 3 Session Beans and Message-Driven Beans, Spring provides a
convenient interceptor that resolves Spring 2.5's @Autowired
annotation in the EJB component class:
org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor.
This interceptor can be applied through an @Interceptors annotation in
the EJB component class, or through an interceptor-binding XML element
in the EJB deployment descriptor.

@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(...);
    }
    ...
}

Stateless EJBs and Spring beans, however, offer more or less the same possibilities. Mixing them together seems like unnecessary complexity.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文