目前我正在使用基于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>
请帮帮我。如果您有类似的链接,请让我知道有人在单个配置文件中解释了配置。
感谢您的帮助。
答案 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>