XML+ Spring MVC 版本
POM文件
4.0.0
com.adagio
task
0.0.1-SNAPSHOT
war
task
UTF-8
4.1.6.RELEASE
org.aspectj
aspectjweaver
1.8.3
org.quartz-scheduler
quartz
2.2.1
javax
javaee-api
7.0
provided
junit
junit
4.12
test
org.springframework
spring-context
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-tx
${spring.version}
task
maven-compiler-plugin
2.3.2
1.7
1.7
org.apache.maven.plugins
maven-war-plugin
2.6
org.apache.maven.plugins
maven-surefire-plugin
2.18.1
true
web.xml
contextConfigLocation
classpath*:/spring/spring-core.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:/spring/spring-mvc.xml
1
dispatcher
/
task
index.jsp
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
spring.xml
spring-mvc.xml
text/plain;charset=UTF-8
text/html;charset=UTF-8
spring-quartz.xml
excute
HelloTask
package com.adagio;
import org.springframework.stereotype.Component;
@Component
public class HelloTask {
public void excute() {
System.out.println("excute...22222>>>>>>>>");
}
}
configuration + Spring MVC
和上面类似,只是 spring-quartz.xml 转成configuration
package com.adagio;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
@Configuration
public class QuartzConfig {
@Bean
public SchedulerFactoryBean factoryBean() {
SchedulerFactoryBean factoryBean = new SchedulerFactoryBean();
factoryBean.setTriggers(cronTriggerFactoryBean().getObject());
return factoryBean;
}
@Bean
public CronTriggerFactoryBean cronTriggerFactoryBean() {
CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
cronTriggerFactoryBean.setJobDetail(methodInvokingJobDetailFactoryBean().getObject());
cronTriggerFactoryBean.setCronExpression("0/5 * * * * ?");
return cronTriggerFactoryBean;
}
@Bean
public MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean() {
MethodInvokingJobDetailFactoryBean m = new MethodInvokingJobDetailFactoryBean();
m.setTargetObject(helloTask());
m.setTargetMethod("excute");
return m;
}
@Bean
public HelloTask helloTask() {
return new HelloTask();
}
}
Configuration + Spring Boot
QuartzConfig 和 HelloTask 与上面一样
启动方式不同
package com.adagio;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan(basePackages= {"com.adagio"})
@SpringBootApplication
public class TimerTaskApplication {
public static void main(String[] args) {
SpringApplication.run(TimerTaskApplication.class, args);
}
}
总结
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论