Java EJB3注入SpringBean

Java EJB3注入SpringBean,java,spring,jakarta-ee,ejb-3.0,Java,Spring,Jakarta Ee,Ejb 3.0,我用spring、spring安全性制作了一个mavenized web应用程序。。。现在,我想添加用于数据库访问的ejb模块,我在internet上查找,但没有找到明确的内容,因为这是我第一次使用ejb。 我想在我的控制器中使用类似于@EJB的东西 像“ 如果有教程或其他帮助,我如何在spring环境中配置它。这将非常好,谢谢您 您可以使用setter注入来注入EJB。通过以下方式配置bean: 您还可以使用标记插入EJB: 要在Springbean中注入EJB3bean,您可以遵循以下步

我用spring、spring安全性制作了一个mavenized web应用程序。。。现在,我想添加用于数据库访问的ejb模块,我在internet上查找,但没有找到明确的内容,因为这是我第一次使用ejb。 我想在我的控制器中使用类似于@EJB的东西 像“

如果有教程或其他帮助,我如何在spring环境中配置它。这将非常好,谢谢您

您可以使用setter注入来注入EJB。通过以下方式配置bean:


您还可以使用
标记插入EJB:


要在Springbean中注入EJB3bean,您可以遵循以下步骤。 1.创建你的SpringBean 2.使用远程和本地接口创建EJB 3.编写实现类 e、 g

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

现在我们创建Springbean,在其中注入这个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中。 在Springbean中注入ejb有两种方法

  • 第一条路
  • 
    
    我试过了,但是jboss一直告诉我他找不到jndi名称…所以我删除了这个,我只使用了@EJB,一切正常!!!!对吗?NB:我的war使用EJB模块作为依赖项第一种方法对我有效!谢谢!但是注意第一个示例中的LocalStatelessSessionProxyFactoryBean拼写错误。我有一段时间我不得不面对ClassNotFoundException,直到我意识到这一点。
    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";   
     }
    }
    
    package com.ejb;
    
    @Service
    public class MyService {
    
       private MyEjbLocal ejb;
    
       public void setMyEjbLocal(MyEjbLocal ejb){
            this.ejb = ejb;
      }
    
      public MyEjbLocal getMyEjbLocal(){
           return ejb;
      }
    }