我有一个项目,我需要@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配置,让两种情况下有那些特殊的豆。 有谁知道我该怎么做?
这实际上结束了是相当简单的。 为了得到一个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定义。
更新 -对包括艾伦弗兰佐尼在回答下面的评论。
或者以annotation-config
,您可以使用component-scan
。 然后,你不必包括配置Bean的XML:
<context:component-scan base-package="[fully qualified package path]" />
见<上下文:注解的配置>之间差Vs <上下文:组分扫描>的更多细节。
应该是:
spring-javaconfig-<version>.jar
文章来源: How to import Java-config class into XML-config so that both contexts have beans?