当前位置: 首页 > 面试题库 >

EJB 3注入Spring Bean

澹台蕴藉
2023-03-14
问题内容

我已经用spring和spring
security开发了一个简化的Web应用程序…现在,我想添加ejb模块来进行数据库访问,我在Internet上查找,但是由于它是我第一次使用EJB,所以我没有找到明确的东西。我想在控制器中使用类似@EJB之类的东西”

@Stateless(name = "CustomerServiceImpl")
public class CustomerServiceImpl implements CustomerService


@EJB
private MyEjb myEjb;

以及在有教程或其他帮助的情况下如何在Spring上下文中对其进行配置。很好,谢谢


问题答案:

要将ejb 3 bean注入spring 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的示例

现在我们创建在其中注入此ejb的Spring bean。

package com.ejb;

@Service
public class MyService {

   private MyEjbLocal ejb;

   public void setMyEjbLocal(MyEjbLocal ejb){
        this.ejb = ejb;
  }

  public MyEjbLocal getMyEjbLocal(){
       return ejb;
  }
}

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

  1. 第一路




注意:我使用了本地接口,您可以根据需要使用远程接口。

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

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



 类似资料:
  • Enterprise Java Beans (EJB) 3.0 对 EJB 规范进行了深入改革和简化。EJB 3.0 的目标是简化开发,促进测试驱动开发,更专注于编写纯 Java 对象(POJOs) 而不是复杂的 EJB APIs。EJB 3.0 完全认同 JDK 5.0 引入的 Java Annotations,使用 Hibernate 作为 EJB 3.0 Java Persistence 引

  • 我遇到此错误,不知道如何修复: 这是: @无状态的公共类AlertFacade扩展了AbstractFacade{@PeristextContext(unitName="flams_pu")私有EntityManager em; 我在JSF托管bean中使用。 EJB应该是可序列化的吗?我不明白。请帮帮忙

  • JBoss EJB3 Plugin 是可执行的 JAR,是最新 EJB3 二进制包(依赖项目)现有 JBoss AS 安装补丁。此版本只支持最新的 JBoss AS 5.x。 要求: Ant (1.6.5) Java - JDK 1.5 及其以上版本 JBoss AS-5.x

  • 该plugin提供struts的Action及Interceptor对EJB组件及Resource的无侵入式依赖注入(DI)。 安 装方法: 将 struts-ejb3-plugin.jar 考入 /WEB-INF/lib 目录中。这时使用的为plugin的默认配置,该配置为 cn/agrael/struts/plugin/ejb3/default-struts-ejb3-plugin.prope

  • 问题内容: 我在EJB3无状态会话Bean中使用CMT。另外,我还创建了自己的具有注释“ @ApplicationException(rollback = true)”的异常。 要回滚事务时是否必须使用“ context.setRollbackOnly()”? 我可以通过在bean的public方法内抛出异常来回滚事务吗? 如果是这样(对Q#2的回答是“是”),我是否必须通过在方法中声明异常来将异

  • 问题内容: 我已经了解到,如果在Spring上下文中使用EJB,我将获得与在“纯” EJB3环境中使用EJB一样的所有好处,这是真的吗?我已经用谷歌搜索,但是找不到明确的答案。 例如,假设我有一个会话Bean,它会更新数据库中的某些表,并引发系统异常。在“纯” EJB3环境中,事务将回滚。例如,如果我使用Spring使用@Autowire这个bean,那么Spring是否像EJB3容器一样处理事务

  • 理解DLL 首先我们需要知道我们在启动一个程序的时候并没有把所有的需要用到的数据或者文件运行起来,而是只运行了关键部分,那么当我们需要调用到某一功能时再通过DLL来动态链接,不需要时就可以卸载,使得程序不显得臃肿。 DLL注入是什么 DLL注入就是将代码插入/注入到正在运行的进程中的过程。我们注入的代码是动态链接库(DLL)的形式。为什么可以做到这一点?因为DLL(如UNIX中的共享库)是在运行时

  • 问题内容: 标题不言自明。 我很高兴听到解决方案,谢谢。 问题答案: 到目前为止,有一种比列出的方法更短的方法: