如何在web.xml中的spring contextConfigLocation中指定spring java config和xml config

时间:2017-02-09 22:58:16

标签: spring spring-mvc

我正在将现有的基于spring的应用程序从xml转换为java config。有一些spring xml配置,我无权修改它们。所以我需要将我的基于java的spring配置添加到web.xml我该怎么做?下面是我在web.xml中的contextConfigLocation定义

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:/moduleApplicationContext.xml
            classpath*:/webModuleApplicationContext.xml
            <!--need to add spring java config here-->
        </param-value>
    </context-param>

2 个答案:

答案 0 :(得分:1)

我认为你应该看看这个How to register Spring @Configuration annotated class instead of applicationContext.xml file in web.xml?

修改

关于您的请求,您可以这样做:

(从其他Q&amp; A复制)

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </init-param>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            org.package.YourConfigurationAnnotatedClass
        </param-value>
    </init-param>
</servlet>

在你的配置类(YourConfigurationAnnotatedClass)中添加:

@ImportResource({
        "classpath*:/moduleApplicationContext.xml",
        "classpath*:/webModuleApplicationContext.xml"
})

答案 1 :(得分:0)

你可以在xml中将你的java配置声明为bean,然后你可以在web.xml

中同时使用它们