如何坚持基于XML和Annotation的配置Spring

时间:2013-10-25 03:35:25

标签: java xml spring spring-mvc annotations

目前我正在使用基于Spring 2.5 XML的配置。现在我想将它升级到Spring 3.x.升级到3.x之后我想知道我的旧XML配置是否有效。如果有效,那么我可以为当前项目中的新工作编写基于注释的配置。

XML配置示例:

<bean id="addTestimonialController" class="com.eam.web.testimonial.AddTestimonialController" singleton="true">
        <property name="branchManager" ref="branchMan"/>
        <property name="userManager" ref="userMan"/>
        <property name="itemManager" ref="itemMan"/>        
        <property name="vendorManager" ref="vendorMan"/>
        <property name="categoryManager" ref="categoryMan"/>        
        <property name="lineupManager" ref="lineupMan"/>        
        <property name="testimonialManager" ref="testimonialMan"/>
        <property name="categoryMenuManager" ref="categoryMenuMan"/>
        <property name="setManager" ref="setMan"/>
        <property name="configurationManager" ref="configMan"/>
        <property name="cartManager" ref="cartMan"/>
    <property name="employeeManager" ref="employeeMan"/>
    <property name="employeeBranchManager" ref="employeeBranchMan"/>
    <property name="orderItemManager" ref="orderItemMan"/>
    <property name="orderFaxManager" ref="orderFaxMan"/>
        <property name="sessionForm" value="true"/>
        <property name="commandName" value="addTestimonialBean"/>
        <property name="branchesVendorManager" ref="branchesVendorMan" />       
        <property name="commandClass" value="com.eam.bus.testimonial.TestimonialBean"/>
        <property name="validator" ref="addTestimonialValidator"/>      
        <property name="formView" value="addtestimonial"/>
        <property name="successView" value="listtestimonials.html"/>        
</bean> 

请帮帮我。如果您有类似的链接,请让我知道有人在单个配置文件中解释了配置。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以在应用程序中很好地使用基于XML的元数据和基于注释的配置元数据。配置元数据是告诉Spring容器如何在应用程序中实例化,配置和组装对象的信息。传统上,配置元数据以简单直观的XML格式提供。即基于XML的配置元数据。 Spring 2.5引入了对基于注释的配置元数据的支持。从Spring 3.0开始,Spring JavaConfig项目提供的许多功能成为核心Spring Framework的一部分。因此,您可以通过XML,基于Annotation和Spring 3.x版本的Java配置,以不同的方式提供应用程序的配置元数据。这个link将带您朝着正确的方向前进。您必须学习Spring文档中的IOC章节

答案 1 :(得分:0)

您可以通过指定这些处理程序的顺序来使用基于注释的配置和基于xml的(ControllerClassNameHandlerMapping)。

用于基于注释的配置使用

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >
    <property name="order" value="0"/>
</bean>

对于基于注释的配置,我们必须提供位置,即:在何处定位带注释的控制器。

<context:component-scan base-package="ur packageName" />

此处包名称将是@Controller类所在的包。

用于基于控制器类名称的URL映射

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >  
    <property name= "order" value="2"/>
</bean>