一、scheduled定时任务器
Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器。
1.1 scheduled基于配置方式
1.1.1 job类
用来写要定时的业务。
例子:打印时间
public class JobDemo {
@Scheduled(cron="*/1 * * * * ?")
public void method(){
System.out.println(new Date());
}
}
1.1.2 applicationContext-task.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:task="http://www.springframework.org/schema/task"
xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd">
<bean id="job" class="com.ego.scheduled.JobDemo"></bean>
<task:scheduled-tasks>
<!--
ref:类 method:方法
cron:表达式。用来指定时间
-->
<task:scheduled ref="job" method="method" cron="*/1 * * * * ?"/>
</task:scheduled-tasks>
</beans>
1.1.3 测试类
public class ScheduledTest {
public static void main(String[] args) throws IOException {
new ClassPathXmlApplicationContext("classpath:applicationContext-task.xml");
System.in.read();
}
}
1.2 scheduled基于注解方式
1.2.1 job类
@Componen
@EnableScheduling //告诉spring这是个定时任务类
public class JobDemo
@Scheduled(cron="*/1 * * * * ?")
public void method(){
System.out.println(new Date());
}
}
1.2.2 applicationContext-task.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:task="http://www.springframework.org/schema/task"
xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd">
<!--指定要扫描的包 -->
<context:component-scan base-package="com.ego.scheduled"></context:component-scan>
</beans>