码迷,mamicode.com
首页 > 编程语言 > 详细

spring配置文件[servlet-name]-servlet.xml

时间:2015-03-05 00:16:43      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

注解式控制器简介:

在spring2.5之前都是通过实现controller接口或其实现来定义处理器类。

spring2.5开始支持通过注解@controller和@requestmapping来定义处理器类,DefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter为@controller和@requestmapping提供支持。

spring3.0引入restful架构风格支持,引入了更多的注解。

spring3.1使用新的HandlerMapping和HandlerAdapter来支持@controller、@requestmapping注解处理器类,requesthandlermappingadapter和requesthandlermapping。

spring中的[servletname]-servlet.xml配置文件分为三步:

1.配置扫描包

<context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan>

  当spring启动的时候会自动扫描包下面含有@Component @Controller@Service等这些注解的类并把它们注册为bean。也可以用传统方式直接在容器中为控制器注册,见例子。

注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。另外<context:annotation-config/>还提供了两个子标签如下,具体功能在此不介绍。

     1).    <context:include-filter>

     2.)    <context:exclude-filter>

  且必须要在文件头声明context如下:

xmlns:context="http://www.springframework.org/schema/context"

  使用<context:annotation- config/>隐式地向 Spring容器注册AutowiredAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor以及PersistenceAnnotationBeanPostProcessor这4个BeanPostProcessor使得系统能够识别@Autowired、@ Resource 、@ PostConstruct、@ PreDestroy等注解。传统的注册方式如下(比较繁琐):

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/>

 

2.配置处理器映射和处理器适配器

    <!--Spring3.1开始的注解 HandlerMapping -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 
    
    <!--Spring3.1开始的注解 HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <!--线程安全的访问session-->
        <property name="synchronizeOnSession" value="true"/>
    </bean> 

  为@controller和@requestmapping提供支持(开启该注解支持)。

3.配置视图解析器

    <!-- ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

  加上前/后缀解析视图。


 

 

一份配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <context:component-scan base-package="com.tgb.web.controller.annotation">
    </context:component-scan>

    <!--Spring3.1开始的注解 HandlerMapping -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 
    
    <!--Spring3.1开始的注解 HandlerAdapter -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <!--线程安全的访问session-->
        <property name="synchronizeOnSession" value="true"/>
    </bean> 
       
    <!-- ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

<!--引用静态资源-->
  <mvc:resources location="/img/" mapping="/img/**" />

  <!-- 处理器配置,也可以在此处注册控制器(其实扫描包时已经注册到容器中)-->

  <bean class="com.javass.mvc.web.controller.SuccessController"/>

  <bean class="com.javass.mvc.web.controller.FinshController"/>

</beans> 

 

spring配置文件[servlet-name]-servlet.xml

标签:

原文地址:http://www.cnblogs.com/luoh/p/4314598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!