混合Java配置和XML Spring 4

混合Java配置和XML Spring 4,java,spring,spring-mvc,Java,Spring,Spring Mvc,我在多个Java类中定义了一些配置,在XML中定义了一些基本配置。例如,数据源是用XML定义的,我用Java@Configuration类定义JDBCTemplate 根据在线提供的答案,我必须使用@importResource包含我的XML,这样我就可以Autowire从XML中获取bean定义。然而,这似乎对我不起作用。以下是我的定义: mvc-dispatcher-servlet.xml: <context:component-scan base-package="com.abc.m

我在多个Java类中定义了一些配置,在XML中定义了一些基本配置。例如,数据源是用XML定义的,我用Java
@Configuration
类定义JDBCTemplate

根据在线提供的答案,我必须使用
@importResource
包含我的XML,这样我就可以
Autowire
从XML中获取bean定义。然而,这似乎对我不起作用。以下是我的定义:

mvc-dispatcher-servlet.xml:

<context:component-scan base-package="com.abc.mvc"/>
<context:property-placeholder location="classpath*:application.properties"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="connectionProperties">
        <props merge="default">
            <prop key="MinLimit">3</prop>
            <prop key="MaxLimit">20</prop>
        </props>
    </property>
</bean>
还有,my web.xml:

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

mvc调度器
org.springframework.web.servlet.DispatcherServlet
1.
mvc调度器
/
使用此设置运行时,会出现错误 必须提供属性“数据源”

当我调试它时,即使在自动连接之后,数据源也是空的。我尝试了很多在线解决方案,但似乎都不适合我


关于如何使Java配置类成为用XML定义的autowire bean,有什么想法吗?我的任何其他设置都可能与之相反?

导入语法是否正确(请注意*,以及文件的路径)

过去,我必须做到以下几点:

@ImportResource("classpath:com/somepackages.../mvc-dispatcher-servlet.xml")

参考资料:

完全脱离主题,但您可能对springboot项目感兴趣,它封装了Spring以了解所有糟糕的xml配置springboot不支持WAR打包,不建议像在网站中一样与JSP页面显示一起使用。它更适合于不显示/呈现网页的服务项目。您可以使用springboot作为war部署,但必须确保将嵌入式tomcat设置为提供的
。我不知道不适合JSP页面。很抱歉
@ImportResource("classpath*:mvc-dispatcher-servlet.xml")
@ImportResource("classpath:com/somepackages.../mvc-dispatcher-servlet.xml")