如何导入Java的配置类到XML的配置使两种情况下有豆?(How to import Java-co

2019-06-18 22:29发布

我有一个项目,我需要@Configuration Java的配置类引导入XML配置。

要做到这一点,我在看,我还需要包括以下bean定义(与@Configuration注解类的bean定义)。

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

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

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

我必须假设我失去了一个罐子的地方,但我的各种网络搜索并没有导致一个答案。 任何帮助将不胜感激。 谢谢。

编辑 :显然,我读旧的文档,这不再是当前。 让我回来了。 我的项目包含旧的基于XML的配置。 较新的代码全部采用“Java的配置”。 随着中说,上下文显然是完全分开的。 我想“进口”一个Java的配置类到XML配置,让两种情况下有那些特殊的豆。 有谁知道我该怎么做?

Answer 1:

这实际上结束了是相当简单的。 为了得到一个Java的配置bean定义成XML的配置,简单地定义了Java的配置类为XML的配置中的一个bean。 有必要没有额外的罐子。

@Configuration
public class SomeJavaConfig {

    @bean
    ... [bean definition]
}

该XML的配置里面,你定义了这个类作为一个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的配置,其可以是不同的上下文的一部分,现在有各种JavaConfig类中定义的bean定义。

更新 -对包括艾伦弗兰佐尼在回答下面的评论。



Answer 2:

或者以annotation-config ,您可以使用component-scan 。 然后,你不必包括配置Bean的XML:

<context:component-scan base-package="[fully qualified package path]" />

见<上下文:注解的配置>之间差Vs <上下文:组分扫描>的更多细节。



Answer 3:

应该是:

spring-javaconfig-<version>.jar


文章来源: How to import Java-config class into XML-config so that both contexts have beans?