一尘不染

如何将Java-config类导入XML-config,以便两个上下文都有bean?

spring

我有一个项目,需要在其中将@Configuration java-config类引导到XML配置中。

为此,我读到我还需要包括以下bean定义(以及用@Configuration注释的类的bean定义)。

<bean class="org.springframework.config.java.process.ConfigurationPostProcessor" />

但是,我最终收到以下错误:

Caused by: java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor

我必须假设我在某处缺少一个jar,但是我的各种网络搜索尚未找到答案。任何帮助将不胜感激。谢谢。

编辑:显然,我正在阅读旧的文档,这不再是最新的。让我备份。我的项目包含较旧的基于XML的配置。较新的代码全部使用“ Java-config”。话虽如此,上下文显然是完全分开的。我想将一个java-config类“导入”到XML配置中,以便两个上下文都具有那些特定的bean。有人知道我该怎么做吗?


阅读 471

收藏
2020-04-16

共1个答案

一尘不染

实际上,这实际上非常简单。要将Java-config bean定义放入xml-config中,只需将Java-config类定义为XML-config中的bean。无需额外的jars 。

@Configuration
public class SomeJavaConfig {

    @bean
    ... [bean definition]
}

在XML-config中,你可以将该类定义为bean。

<!-- needed to pick up the annotated java-config -->
<context:annotation-config />

<!-- Importing java-config class, which are annotated with @Configuration -->
<bean name="SomeJavaConfig" class="[fully qualified path].SomeJavaConfig" />

XML-config(可能是不同上下文的一部分)现在具有JavaConfig类中定义的所有bean定义。

2020-04-16