<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd" default-lazy-init="true">
<!-- 因为controller没有实现接口 所以必须强制使用CGLIB代理 配置proxy-target-class="true" 否则报错-->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<context:component-scan base-package="cn.edu.hbcf">
<!-- <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
<!-- 该 BeanPostProcessor 将自动起作用,对标注 @Autowired 的 Bean 进行自动注入 -->
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<!-- 用于持有applicationProperties,将properties转变为静态方法使用,PropertiesHolder.getProperty("somekey") -->
<!-- PropertyPlaceholderConfigurer,用于spring ${placeholder}的解析 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"></property>
<property name="properties" ref="applicationProperties"></property>
</bean>
<!-- 激活 @Required @Autowired,JSR 250's @PostConstruct, @PreDestroy and @Resource 等标注 -->
<context:annotation-config />
<!-- 对某些静态资源,如css,图片等进行过滤 ,有引用 "/resources/**" 的路径引用转到工程的/resources/目录取资源 -->
<!-- <mvc:resources mapping="/favicon.ico" location="/favicon.ico"/> -->
<mvc:resources mapping="/resources/**" location="/resources/,/lib/" />
<mvc:resources mapping="/app/**" location="/app/" />
<mvc:resources mapping="/front/**" location="/front/" />
<mvc:resources mapping="/plugins/**" location="/plugins/" />
<mvc:resources mapping="/upload/**" location="/upload/" />
<mvc:resources mapping="/skin/**" location="/skin/" />
<!-- 简单的地址映射 -->
<!-- Forwards requests to the "/" resource to the "welcome" view
<mvc:view-controller path="/admin" view-name="/admin/login" />
-->
<!-- <mvc:annotation-driven /> -->
<!-- Configures support for @Controllers <mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping
和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。
如果不用这个,则要声明下面2个bean-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<!-- 定义一个全局的转化器,转化Date、Int、Double类型数据 -->
<property name="webBindingInitializer">
<bean class="cn.edu.hbcf.common.springmvc.MyWebBindingInitializer"/>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json"/>
</bean>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
</bean>
<!-- jsp视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- 访问时添加的默认前缀 -->
<property name="prefix" value="/" />
<!-- 访问时添加的默认后缀 -->
<property name="suffix" value=".jsp" />
</bean>
<!-- 国际化,并且可以批定文件编码,可以使用classpath: 或者WEB-INF/ 前缀 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages</value>
<value>classpath:ValidationMessages</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8" />
<property name="cacheSeconds" value="60" />
</bean>
<!-- 针对类、方法级别的权限拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/main*" />
<mvc:mapping path="/header*" />
<mvc:mapping path="/welcome*" />
<mvc:mapping path="/treeMenu*" />
<mvc:mapping path="/role**/**" />
<mvc:mapping path="/user**/**" />
<mvc:mapping path="/module**/**" />
<mvc:mapping path="/field**/**"/>
<mvc:mapping path="/baseFlow**/**"/>
<mvc:mapping path="/baseNode**/**"/>
<mvc:mapping path="/myWelcome/**"/>
<bean class="cn.edu.hbcf.privilege.web.interseptor.LoginInterceptor"></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**/*" />
<bean class="cn.edu.hbcf.privilege.web.interseptor.PrivilegeInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<!-- 文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 解析request的编码 ,Default is ISO-8859-1 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 设置最大允许的大小(字节)。-1表示没有限制(默认) 1024*1024*10=10MB -->
<property name="maxUploadSize" value="1048576000" />
<!--被允许的最大的内存的大小,Default is 10240 bytes -->
<property name="maxInMemorySize" value="20480" />
</bean>
</beans>