EJB 3注入spring bean

我已经制作了一个带有弹簧,弹簧安全性的mavenized Web应用程序……现在,我想添加ejb模块进行数据库访问,我在互联网上查找但是我没有找到清楚的东西,因为这是我第一次使用EJB。 我想在我的控制器中使用像@EJB这样的东西,比如“

@Stateless(name = "CustomerServiceImpl") public class CustomerServiceImpl implements CustomerService @EJB private MyEjb myEjb; 

如果有教程或任何其他帮助,如何在spring上下文中配置它。 这将是伟大的,谢谢你

要在spring bean中注入ejb 3 bean,您可以按照以下步骤操作。 1.创建Spring bean 2.使用远程和本地接口创建EJB 3.编写实现类例如

 package com.ejb; @Local public interface MyEjbLocal{ public String sendMessage(); } package com.ejb; @Remote public interface MyEjbRemote{ public String sendMessage(); } @Stateless(mappedName = "ejb/MessageSender") public class MyEjbImpl implements MyEjbLocal, MyEjbRemote{ public String sendMessage(){ return "Hello"; } } 

以上是EJB3的示例,它使用远程和本地接口

现在我们创建Spring bean,我们在其中注入这个ejb。

 package com.ejb; @Service public class MyService { private MyEjbLocal ejb; public void setMyEjbLocal(MyEjbLocal ejb){ this.ejb = ejb; } public MyEjbLocal getMyEjbLocal(){ return ejb; } } 

我们在spring中添加了ejb的实例,但是我们需要在spring的spring-config.xml中注入它。 有两种方法可以在spring bean中注入ejb

  1. 第一道路
    

注意:我在这里使用了本地界面,您可以根据需要使用Remote。

  1. 另一种注射ejb的方法是
  

因此当bean在那时被初始化时,ejb将被注入你的spring bean中。

看看这里: http : //docs.spring.io/spring/docs/4.1.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#ejb-access-local

您可以使用setter注入注入EJB。 以这种方式配置bean:

        

您还可以使用标记来注入EJB: