【问题标题】:How to stick with both XML and Annotation based configuration Spring如何同时使用基于 XML 和 Annotation 的配置 Spring
【发布时间】:2013-11-04 00:41:37
【问题描述】:

目前我正在为 bean 使用基于 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> 

请帮助我。如果有人在一个配置文件中解释了这两种配置的类似链接,也请告诉我。

感谢您的帮助。

【问题讨论】:

  • 只需阅读最新 Spring 配置中有关 IoC 的章节即可。
  • 是的,您可以使用 XML、注释或混合使用。

标签: java xml spring spring-mvc annotations


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以通过指定这些处理程序的顺序来使用基于注释的配置和基于 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 2013-03-13
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      相关资源
      最近更新 更多