自己用spring3.2+quartz+maven 整合一个小小的demo.仅供自己学习!
1. 在HelloController 中注入 IPersionService 接口,并调用PersionService 的save() 方法。
2. 在 application-context-quartz 中配置quartz 和Spring。
3. 在web.xml配置监听和application-context-quatz.xml
4:具体如下
/** * @author * @date 创建时间:2016-1-5 上午10:01:26 * @version 1.0 */ @Controller @RequestMapping(value = "/hello") public class HelloController { @Autowired private IPersionService iPersionService; SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); @RequestMapping(value = "/say", method = RequestMethod.GET) public void show(){ iPersionService.save(); } }
/** * @author * @date 创建时间:2016-1-5 下午2:39:51 * @version 1.0 */ @Service public class PersionService implements IPersionService { SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); public void save() { System.out.println("save:"+dateFormat.format(new Date())); System.err.println("invok persionService save method !"); } }
/** * @author * @date 创建时间:2016-1-5 下午2:37:43 * @version 1.0 */ public interface IPersionService { public void save(); }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.0.xsd"> <context:component-scan base-package="com.sys"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice" /> </context:component-scan> <!-- 自定义需要执行定时任务的类 --> <bean id="quartzJob" class="com.sys.service.PersionService" /> <!-- 定义调用对象和调用对象的方法 --> <bean id="jobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJob" /> </property> <property name="targetMethod"> <value>save</value> </property> </bean> <!-- 定义触发时间 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobTask" /> </property> <property name="cronExpression"> <value>0/30 * * * * ?</value> <!-- <value>0 0/5 * * * ?</value> --> </property> </bean>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- Spring config start --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/application-context-quartz.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Spring config end --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuartz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime" /> </list> </property> </bean> </beans>
相关推荐
- 使用最新技术栈,社区资源丰富,基于Java 21(Core Module Support 17-21)、Spring Boot 3.2。 (Support Virtual Threads/fibre/loom) - 基于注解的动态查询(Specification),可根据需要扩充查询注解。 - 支持...
A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...
a.2把spring添加为一个maven2依赖项 a.3spring与ant a.4spring与log4j 附录b用(和不用)spring进行测试 b.1测试简介 b.1.1理解不同类型的测试 b.1.2使用junit b.1.3spring在测试中的角色 b.2单元测试...
13.2.3. Using the Spring Boot Maven Plugin 13.3. Gradle 13.4. Ant 13.5. Starters 14. Structuring Your Code 14.1. Using the “default” Package 14.2. Locating the Main Application Class 15. ...
- Maven 3.2或更高版本 可以通过Spring Initializr来快速生成Spring Boot项目的结构,这是一个基于Web的工具,可以生成Maven项目结构并下载项目压缩包。对于使用IntelliJ IDEA的用户,可以通过IDE内置的Spring ...
基于Spring Cloud的微服务实战 - 天气预报 项目所涉及到的技术及相关版本如下 本项目所采用的技术及相关版本较新,请需要学习的朋友将相关开发环境设置成跟本...Spring Boot Quartz Starter 2.0.0.M4 Quartz Scheduler
A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...
【标题】中的“基于最新的Java 21和SpringBoot 3.2”指的是这个实战项目采用了当前最新的Java版本(Java 21)和Spring Boot框架的版本(SpringBoot 3.2)。Java作为广泛使用的编程语言,每个新版本通常会引入性能...
它集成了大量的常用第三方库配置,如JPA、RabbitMQ、Quartz等,使得开发者可以“零配置”运行。 ### 2. MyBatis Plus简介 MyBatis Plus是在MyBatis的基础上增加了很多实用功能,如:无注解SQL编写、条件构造器、...
- **Maven**:项目构建工具,可以通过IDEA插件市场直接搜索安装。 - **Sentinel**:阿里巴巴开源项目,用于流量控制,本教程暂时不涉及。 - **Node.js**:用于前端开发,安装过程简单。 - **Redis**:内存数据结构...
- **构建工具与多模块划分**:Maven 或 Gradle 等。 - **图片上传注意事项**:文件大小限制、格式验证等。 - **商品规格设计**:考虑商品属性、价格等信息的组织方式。 - **跨系统调用实现**:RESTful API、RPC 等。...