文章首发于个人博客:https://yeyouluo.github.io

  • 0 预备知识:cron表达式

    见 《5 参考》一节。

    1 环境

    eclipse mars2 + Maven3.3.9

    2 开发步骤

    项目码云地址

    2.1 建立一个maven工程

    POM如下:

      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      2   <modelVersion>4.0.0</modelVersion>
      3   <groupId>com.yeyouluo.spring.timer</groupId>
      4   <artifactId>spring-timer-demo</artifactId>
      5   <version>0.0.1-SNAPSHOT</version>
      6   
      7   <properties>
      8         <spring.version>4.2.6.RELEASE</spring.version>
      9         <slf4j.version>1.7.2</slf4j.version>
     10         <log4j.version>1.2.17</log4j.version>
     11     </properties>
     12     <dependencies>
     13         <dependency>  
     14             <groupId>org.slf4j</groupId>  
     15             <artifactId>slf4j-api</artifactId>  
     16             <version>${slf4j.version}</version>  
     17         </dependency>  
     18         <dependency>  
     19             <groupId>org.slf4j</groupId>  
     20             <artifactId>slf4j-log4j12</artifactId>  
     21             <version>${slf4j.version}</version>  
     22         </dependency>  
     23         <!-- common-logging 实际调用slf4j -->  
     24         <dependency>  
     25             <groupId>org.slf4j</groupId>  
     26             <artifactId>jcl-over-slf4j</artifactId>  
     27             <version>${slf4j.version}</version>  
     28         </dependency>  
     29         <!-- java.util.logging 实际调用slf4j -->  
     30         <dependency>  
     31             <groupId>org.slf4j</groupId>  
     32             <artifactId>jul-to-slf4j</artifactId>  
     33             <version>${slf4j.version}</version>  
     34         </dependency>  
     35         <dependency>  
     36             <groupId>log4j</groupId>  
     37             <artifactId>log4j</artifactId>  
     38             <version>${log4j.version}</version>  
     39         </dependency>  
     40         <dependency>  
     41             <groupId>org.lazyluke</groupId>  
     42             <artifactId>log4jdbc-remix</artifactId>  
     43             <version>0.2.7</version>  
     44         </dependency> 
     45         <!-- spring核心包 -->
     46         <dependency>
     47             <groupId>org.springframework</groupId>
     48             <artifactId>spring-core</artifactId>
     49             <version>${spring.version}</version>
     50         </dependency>
     51         <dependency>
     52             <groupId>org.springframework</groupId>
     53             <artifactId>spring-web</artifactId>
     54             <version>${spring.version}</version>
     55         </dependency>
     56         <dependency>
     57             <groupId>org.springframework</groupId>
     58             <artifactId>spring-tx</artifactId>
     59             <version>${spring.version}</version>
     60         </dependency>
     61         <dependency>
     62             <groupId>org.springframework</groupId>
     63             <artifactId>spring-jdbc</artifactId>
     64             <version>${spring.version}</version>
     65         </dependency>
     66         <dependency>
     67             <groupId>org.springframework</groupId>
     68             <artifactId>spring-webmvc</artifactId>
     69             <version>${spring.version}</version>
     70         </dependency>
     71         <dependency>
     72             <groupId>org.springframework</groupId>
     73             <artifactId>spring-aop</artifactId>
     74             <version>${spring.version}</version>
     75         </dependency>
     76         <dependency>
     77             <groupId>org.springframework</groupId>
     78             <artifactId>spring-beans</artifactId>
     79             <version>${spring.version}</version>
     80         </dependency>
     81         <dependency>
     82             <groupId>org.springframework</groupId>
     83             <artifactId>spring-context</artifactId>
     84             <version>${spring.version}</version>
     85         </dependency>
     86         <dependency>
     87             <groupId>org.springframework</groupId>
     88             <artifactId>spring-context-support</artifactId>
     89             <version>${spring.version}</version>
     90         </dependency>
     91         <dependency>
     92             <groupId>org.springframework</groupId>
     93             <artifactId>spring-expression</artifactId>
     94             <version>${spring.version}</version>
     95         </dependency>
     96         <dependency>
     97               <groupId>org.springframework</groupId>
     98               <artifactId>spring-messaging</artifactId>
     99               <version>${spring.version}</version>
    100         </dependency>
    101         <dependency>
    102              <groupId>org.springframework.integration</groupId>
    103               <artifactId>spring-integration-core</artifactId>
    104               <version>4.2.5.RELEASE</version>
    105         </dependency>
    106         
    107     </dependencies>
    108     
    109     <packaging>jar</packaging>
    110 </project>
    POM.xml

    pom文件中可能加入了很多没有使用的jar,比如和mybatis、druid、mysql-connector相关的jar,以备后用。

    2.2 添加配置文件

    ①log4j.properties

     1 log4j.rootLogger=INFO, Console, RollingFile
     2 #Console
     3 log4j.appender.Console=org.apache.log4j.ConsoleAppender
     4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout
     5 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
     6  
     7 #RollingFile
     8 log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
     9  
    10 log4j.appender.RollingFile.File=logs/log.log
    11 log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
    12 log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
    log4j.xml

②spring-base.xml

 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:task="http://www.springframework.org/schema/task"
 5 xmlns:context="http://www.springframework.org/schema/context"
 6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 7 http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
 8 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 9  
10 <bean id="readDBTask" class="com.yeyouluo.spring.timer.service.ReadDBTask"></bean>
11  
12 <task:scheduled-tasks>
13 <task:scheduled ref="readDBTask" method="doSomething" cron="0/3 * * * * ?"/>
14 </task:scheduled-tasks>
15  
16 </beans>
spring-base.xml

相关文章:

  • 2021-10-11
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
  • 2022-01-02
相关资源
相似解决方案