Spring中使用定时器步骤

1.我们创建定时器的配置文件:     spring-quartz.xml

2.引入头部,这个是固定的

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       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.xsd"
       default-autowire="byName">


</beans>

3.这个bean的大部分内容是不需要改变的,只需要改四个地方:id=“getUpId”                                   bean="alarmClorkService"                                                                                                             property name="targetObject"     property name="cronExpression"

<!-- 起床闹钟 -->
<bean id="getUpId" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"
      lazy-init="false">
    <property name="jobDetail">
        <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject">
                <ref bean="alarmClorkService"/>
            </property>
            <property name="targetMethod">
                <value>getUp</value>
            </property>
            <property name="concurrent">
                <value>true</value>
            </property>
        </bean>
    </property>
    <property name="cronExpression">
        <value>0 0 5 * * ? </value><!-- 每天早上五点触发 -->
    </property>
</bean>
    
   
 

          首先,注入的<ref bean="alarmClorkService"/>这个bean,他就是你的接口,即定时器触发时调用的接口,alarmClorkService,是你service实现类的注入的内容,必须一致,这个大家都清楚    
          其次,<value>getUp</value>,getUp 就是 触发之后调用指定接口中的具体的方法                                                                            然后,修改 <value>0 0 5 * * ? </value><!-- 每天早上五点触发 -->,这个设置你的触发时间,根据你的业务逻辑来设置

4.

      没错,还有一个id没有介绍,<bean id="getUpId" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean", 也就是整个起床闹钟bean的id,这个id的作用是为了注入到以下的bean的 <property name="triggers"><list>里面,到这一步,才算完成了整个的定时器的配置,接下来,就是编写service和service的实现类了

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false" autowire="no">
    <property name="triggers">
        <list>
            <!-- 每天早上五点起床打球 -->
             <ref bean="getUpId"/>
        </list>
    </property>
</bean>

5.编写service和它的实现类

Service接口
public interface ArticleService {        public void getUp();}

 Service的实现类
@Service("alarmClorkService")
public class ArticleServiceImpl implements AlarmClorkService {              public void getUp(){         
            System.out.println("哈登:科比,可以说说你成功的秘诀吗?");     
            System.out.println("科比:你见过凌晨4点的洛杉矶吗?");                     
            System.out.println("哈登:哦,见过,那时我刚从夜店出来,怎么了?");              
            System.out.println("科比:啊..哦..,没事没事......");
     }
  }

     

   这里就是写自己的业务逻辑了,也就不需要我教大家怎么去写了,只是注意在Service的实现类类面写@Service("")的时候,要跟<ref bean="alarmClorkService"/>一致。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值