<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:tx="http://www.springframework.org/schema/tx"
	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-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        ">
        
    <!-- 启动自动扫描 该包下所有的Bean 
    <context:component-scan base-package="org.ccpit" name-generator="org.ccpit.base.utils.SpringBeanNameGenerator"/>-->
    <context:component-scan base-package="org.ccpit" />
    
    <!-- 基于注释的事务,当注释中发现@Transactional时,使用id为“transactionManager”的事务管理器  -->
    <!-- 如果没有设置transaction-manager的值,则spring以缺省默认的事务管理器来处理事务,默认事务管理器为第一个加载的事务管理器 -->
	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>

	<!-- 静态资源过滤 -->
	<mvc:annotation-driven/>
	<mvc:default-servlet-handler/>
	<!-- json转换接口配置,spring mvc提供 -->
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>  <!-- 避免IE出现下载JSON文件的情况 -->
            </list>
        </property>
        <property name="objectMapper">    
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">  
                        <!-- 处理responseBody 里面日期类型 -->    
                        <property name="dateFormat">    
                            <bean class="java.text.SimpleDateFormat">    
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />    
                            </bean>    
                        </property>   
                        <!-- 为null字段时不显示 -->  
                        <property name="serializationInclusion">  
                            <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>  
                        </property>   
                    </bean>    
                </property>    
    </bean>
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->
            </list>
        </property>
    </bean>
    <!-- 定义视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>

	<!-- 过滤器 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/admin/**"/>
			<bean class="org.ccpit.base.security.SecurityInterceptor"></bean>
		</mvc:interceptor>
	</mvc:interceptors>
	

</beans>