spring 注解与xml双重配置是否可行?

spring 注解与xml双重配置是否可行?0

原来的系统使用spring mvc的配置如下所示 
Java代码   收藏代码
  1.     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  2.         <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>  
  3.         <property name="prefix"><value>/WEB-INF/jsp/</value></property>  
  4.         <property name="suffix"><value>.jsp</value></property>  
  5.     </bean>  
  6.       
  7.     <bean id="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">  
  8.         <property name="paramName">  
  9.             <value>method</value>  
  10.         </property>  
  11.         <property name="defaultMethodName">  
  12.             <value>query</value>  
  13.         </property>  
  14.     </bean>  
  15. <beans>     
  16.     <bean id="controlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
  17.         <property name="mappings">  
  18.             <props>  
  19.                 <prop key="jmp/login.do">loginController</prop>  
  20.   
  21. </beans>  

现在想在原系统的基础 
使用spring mvc的伪静态化功能及其他(如@ModelAttribute)功能 
如何在不修改就系统代码的前提下,添加这个新的配置信息。

问题补充:现在的问题是 
增加了如下的配置 
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> 

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

<!-- 启用spring mvc 注解 -->  
    <context:annotation-config /> 
  
    
    <!-- 设置使用注解的类所在的jar包 -->  
    <context:component-scan base-package="net.gbicc.commons.control.anno"/> 
    
    <!-- 配置注解驱动的Spring MVC Controller 的编程模型.注:此标签只在 Servlet MVC工作! -->  
    <mvc:annotation-driven /> 
    
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->  
     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" lazy-init="false"/>  
      
     <!-- 另外最好还要加入DefaultAnnotationHandlerMapping,不然会被 XML或其它的映射覆盖!-->  
     <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 
之后,旧的访问是没有任何问题的。 
但像 
@Controller("/b2c/jmp/bof") 
public class BackOrderFlowController{ 
@RequestMapping(value={"query.do"},method={RequestMethod.GET, RequestMethod.POST})
public ModelAndView query(HttpServletRequest request, HttpServletResponse response) { 
System.out.println("=======================BackOrderFlowController.query = "); 
Map map = new HashMap(); 

return new ModelAndView("bof/add", map); 



这个就访问不了 
提示这样一个信息 
[2013-01-05 09:28:32,168] [DEBUG] DispatcherServlet with name 'springmvc' processing GET request for [/b2c/jmp/bof.do] 
[2013-01-05 09:28:32,178] [WARN ] No mapping found for HTTP request with URI [/b2c/jmp/bof.do] in DispatcherServlet with name 'springmvc'
Spring 
2013年1月04日 18:02

1个答案按时间排序按投票排序

0 0

annotation和xml是不会影响的,你可以直接配置利用context scan配置就可以,这样的话在class种可以直接利用@component之类的annotation,需要注意的就是不同的annotation需要在你的xml中开启不同的启动annotation drive,这些你可以自己去查看下,另外注意尽可能将这样配置都放在applicationcontext中  而不是 xx-servlet中,比较容易。

2013年1月04日 20:36
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值