可以在Spring 2.5中一起使用基于注释和基于xml的配置吗?

时间:2010-09-07 15:12:55

标签: spring spring-mvc

我一直致力于一个项目,其中编写了扩展控制器类的控制器。我是否可以在同一个应用程序中配置和使用基于POJO的控制器(使用@Controller)?

非常感谢

4 个答案:

答案 0 :(得分:3)

谢谢jamestastic和skaffman,现在它的工作一切正常:)

以下是需要添加到Web配置文件以使它们协同工作的行:

<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:context="http://www.springframework.org/schema/context"                    ...line1
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd                        
            http://www.springframework.org/schema/context                           ...line2
        http://www.springframework.org/schema/context/spring-context-2.5.xsd">  ...line3



    <context:annotation-config/>   ...line4

    <context:component-scan base-package="myPackage"/>  ...line5

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>  ...line6

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>   ...line7

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>  ...line8

</beans>

我太懒了,不能在我的主应用程序中添加第8行。

非常感谢

答案 1 :(得分:1)

绝对。您可以根据需要将它们混合在一起。 DispatcherServlet应该在同一个应用程序中同时识别旧式和新式控制器。

答案 2 :(得分:1)

是的,你可以。您需要包含Spring JavaConfig项目库,因为注释配置不是2.5核心的一部分。

Here is an example我写了一段时间,将Google Guice与Spring进行比较。在底部(查找@ImportXml),我将展示如何将Spring XML配置与注释配置相结合。配置如下所示:

@Configuration
@ImportXml(locations = "classpath:com/earldouglas/guicespringjc/spring/config.xml")
public class XmlSpringConfiguration {
}

请参阅Spring Reference regarding combining XML and Annotation configuration。这是来自Spring 3的文档,但它仍然应用(可能会对旧的Spring JavaConfig项目中的类名和路径进行微小的更改)。

答案 3 :(得分:0)

在Spring&gt; = 3.0中使用@ImportResource注释

@Configuration
@ImportResource({ "classpath:/path/to/spring.xml", })
public class AppConfig {
}