首页 > 代码库 > spring定时器配置
spring定时器配置
项目有用到定时器,拍给我做,作为小白的我,感觉到压力很大,上网一查,我顿时就笑了、呵呵哒。
整理下我简单测试的spring定时器的代码。
1.创建执行定时器的java类
public class TimeTest { private Logger logger = LoggerFactory.getLogger(this.getClass());public void tesTime(){ logger.info("定时器执行成功!--------------------------------------"); for (int i = 0; i < 10; i++) { System.out.println("i的个数为="+i); }}}
2.配置spring的XML文件,文件名spring-time.xml
ps:该文件与项目的spring文件最好是分离的
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:p="http://www.springframework.org/schema/p" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xmlns:mvc="http://www.springframework.org/schema/mvc" 7 xsi:schemaLocation=" 8 http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/context 11 http://www.springframework.org/schema/context/spring-context.xsd 12 http://www.springframework.org/schema/mvc 13 http://www.springframework.org/schema/mvc/spring-mvc.xsd">14 15 <!-- 要调用的工作类 -->16 <bean id="timeTestBean" class="com.ssm.cn.time.TimeTest"></bean>17 18 <!-- 定义调用对象和调用对象的方法 -->19 <bean id="timeJobe" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">20 <!-- 调用的类 -->21 <property name="targetObject" ref="timeTestBean"></property>22 <!-- 调用类中的方法 -->23 <property name="targetMethod" value="http://www.mamicode.com/tesTime"></property>24 </bean>25 <!-- 定义触发时间 -->26 <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">27 <property name="jobDetail" ref="timeJobe"></property>28 <!-- cron表达式 -->29 <property name="cronExpression">30 <value>0/2 * * * * ?</value><!-- 每2秒执行一次 -->31 </property>32 </bean>33 34 <!-- 总管理类 如果将lazy-init=‘false‘那么容器启动就会执行调度程序 -->35 <bean id="startQuertz" lazy-init="false" autowire="no"36 class="org.springframework.scheduling.quartz.SchedulerFactoryBean">37 <property name="triggers">38 <list>39 <ref bean="doTime" />40 </list>41 </property>42 </bean>43 </beans>
3.web.xml配置
<!--配置DispatherServlet --> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--配置SpringMVC需要加载的配置文件 spring-dao.xml,spring-service.xml,spring-web.xml Mybatis==>Spring==>SpringMVC --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <!--默认拦截所有的请求 --> <url-pattern>/</url-pattern> </servlet-mapping>
<param-value>classpath:spring/spring-*.xml</param-value>为主要的,加载spring开头的所有spring-*.xml配置,可以用别的方式,个人习惯。
4.maven所需的jar包
<!-- spring 定时器 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>
两个jar包,不要问我为什么这么少,你的项目是用的spring框架,就需要这俩jar包。
什么??你的不是maven项目,好吧。自己百度下载吧。
纯属自己理解,欢迎指正。
有的jar文件里没有 CronTriggerBean 类,不要着急,可以用 CronTriggerFactoryBean 代替,具体原理,自己阅读源码吧。
------------------------------------
慢慢成长,慢慢进步。
spring定时器配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。