繁体   English   中英

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

[英]Integrating Spring XML beans from external jar into a CDI application

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

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

@Produces @SpringContext @Configuration(locations =“ classpath *:external-spring--context.xml”)ApplicationContext上下文;

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

我通过添加一个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");
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM