当前位置: 首页 > 知识库问答 >
问题:

将来自外部jar的Spring XML bean集成到CDI应用程序中

归建安
2023-03-14

我在WebSphere上运行了一个新的CDI Java EE应用程序。现在我想在我的CDI项目中使用一个现有的模块(.jar),但是现有的模块使用带有Spring注释的Spring和一个带有附加bean定义的Spring XML配置文件。通常,我只会在项目中导入Spring XML,但在CDI应用程序中,这将不起作用。

我尝试使用JBoss Seam加载Spring XML,如下所示:

@产生@springcontext@configuration(locations=“classpath*:external-spring--context.xml”)ApplicationContext上下文;

但是上下文是空的?我真的找不到如何做到这一点的好例子,非常感谢帮助:)

共有1个答案

白祺然
2023-03-14

我通过添加一个CDI生成器来解决这个问题,该生成器将使用Spring XML文件创建Spring上下文:

public class SpringBeansFactory {
    @Inject
    ApplicationContext context;

    @Produces
    public BusinesService getBusinessService() {
        return context.getBean(BusinesService.class);
    }
}

class SpringContextFactory {

    @Produces
    public ApplicationContext getApplicationContext() {
            return new ClassPathXmlApplicationContext("classpath:spring-context.xml");
    }
}
 类似资料:
  • ... 但是当我运行我的应用程序时,我没有得到任何更改,当我单击应用程序中的某个组件时,我得到了这个错误:

  • 我正在用Play写一个私有的REST API!我会从一个移动应用程序中拨打电话,我对如何保持它的安全感到困惑。 在研究Play!文档中的另一个Blog引擎示例时,我研究了他们的身份验证示例,它处理通过浏览器登录的问题。根据我对Play!的安全模块的理解,它有助于浏览器会话。此外,我看到的每个StackOverflow问题都与web上的管理模块有关,这些问题也与会话有关。 我目前对安全性应该如何工作

  • 我有一个web应用程序,它通过applet进行文件传输。 出于更安全的原因,我计划对应用程序发送的文件进行加密。为此,我希望集成java web start程序,我将把RSA加密逻辑编写为web start jar的一部分。 我已经创建了一个单独的Web启动项目(WAR),并且能够启动jar 我的web start项目组件包括: 主类-加密。java(加密逻辑) 我用主类文件创建了一个签名jar,

  • 问题内容: 当前,我有一个Java Standalone Swing应用程序。 现在,当用户单击Swing应用程序中的按钮时,我想启动另一个Java应用程序(说:Calculator.jar) 我可以知道什么是便携式方法吗?这样它就可以在多个OS中工作吗? 问题答案: 使用或只是将其放在类路径中并调用其。

  • 问题内容: 我有一个使用Spring Batch和Spring MVC的应用程序。我可以将Spring Batch Admin单独部署,并与我的应用程序使用的数据库一起使用,尽管我想将其集成到我自己的应用程序中,还可能会修改其中一些视图。 有没有简单的方法可以做到这一点,还是我必须将其分叉然后从那里去? 问题答案: 根据这个线程显然有一个简单的方法; 在以下位置为Batch Admin定义Disp

  • 问题内容: 是否可以在现有的Java Apache Tomcat项目中引入osgi-equinox?据我了解,OSGI必须在某种“容器”中运行。我将如何整合它? 我还使用Jersey来获取RESTful资源。 问题答案: 在此桥模型中,安装了一个特殊的servlet,Tomcat调用该servlet来处理请求。OSGi运行时是从该servlet内生成的,但是OSGi运行时本身(例如,春分点)与HT