【问题标题】:Integrating Spring XML beans from external jar into a CDI application将 Spring XML bean 从外部 jar 集成到 CDI 应用程序中
【发布时间】:2015-01-16 10:01:37
【问题描述】:

我有一个在 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 上下文;

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

【问题讨论】:

    标签: spring jar javabeans external cdi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2014-07-26
      • 2013-03-30
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      相关资源
      最近更新 更多