一、springMVC常用配置说明
<mvc:annotation-driven>:设置注解驱动
<context:annotation-config>:启用springMVC注解
<context:component-scan base-package="">:设置使用注解的类所在的包
<mvc-interceptors> <mvc:interceptor>:配置springMVC的拦截器
<mvc:resources mapping="" location="">:配置对静态资源的访问,不会被拦截器所拦截。
<cache:annotation-driven>:启用缓存
<tx:annotation-driven>:启用注解式事务管理
<aop:aspectj-autoproxy>:激活Aspect自动代理
DispatcherServlet:springMVC核心处理
InternalResourceViewResolver:视图处理器
ResourceBundleMessageSource:定义资源文件查找规则
CommonsMultipartResolver:文件上传处理器
RequestMappingHandlerAdapter:请求处理的适配器,及请求之后处理具体逻辑的执行。
RequestMappingHandlerMapping:处理请求映射,处理@RequestMapping跟请求地址之间的关系。
HttpMessageConverter:消息转换接口
MappingJackson2HttpMessageConverter:返回值进行json转换
DefaultRestErrorResolver:默认错误统一处理
OpenSessionInViewFilter:处理当spring和hibernate一起使用时,懒加载的时候hierbnate的session会自动关闭,该filter主要是保持session状态,一般配置在web.xml中。
OpenSessionInViewInterceptor:它和上面的filter类型,只不过它是配置到spring的配置文件中。
二、spring4定时任务的配置方式
1、JobDetailBean配置具体的任务实现(任务需继承QuartzJobBean类),CronTriggerFactoryBean配置触发器
<bean name="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.spring.TaskOne" />
<property name="jobDataAsMap">
<map>
<entry key="timeout" value="5" />
</map>
</property>
</bean>
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="exampleJob" />
<property name="cronExpression" value="0/2 * * * * ?" />
</bean>
2、MethodInvokingJobDetailFactoryBean配置任务实现(任务随意定义类),SimpleTriggerFactoryBean配置出发规则,SchedulerFactoryBean调度任务。
<bean id="customObj" class="com.spring.CustomObj" />
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="customObj" />
<property name="targetMethod" value="task2" />
<property name="concurrent" value="false" />
</bean>
<bean id="simpleTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail" />
<property name="startDelay" value="5000" />
<property name="repeatInterval" value="3000" />
</bean>
<!-- 总调度用于启动Spring定时器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
<ref bean="simpleTrigger" />
</list>
</property>
</bean>