`
weihaimail
  • 浏览: 2146 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring3.2+quartz2+maven

阅读更多

     自己用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>
 

 

 

 

  • 大小: 33 KB
  • 大小: 5.1 KB
分享到:
评论

相关推荐

    基于最新的Java 21和SpringBoot 3.2 根据eladmin项目进行改造+源代码+文档说明

    - 使用最新技术栈,社区资源丰富,基于Java 21(Core Module Support 17-21)、Spring Boot 3.2。 (Support Virtual Threads/fibre/loom) - 基于注解的动态查询(Specification),可根据需要扩充查询注解。 - 支持...

    Spring in Action(第二版 中文高清版).part2

    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 单元...

    Spring in Action(第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单元测试...

    spring-boot-reference.pdf

    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. ...

    Spring Boot公开课.pdf

    - Maven 3.2或更高版本 可以通过Spring Initializr来快速生成Spring Boot项目的结构,这是一个基于Web的工具,可以生成Maven项目结构并下载项目压缩包。对于使用IntelliJ IDEA的用户,可以通过IDE内置的Spring ...

    Spring-cloud-Weather:基于Springboot + Spring cloud 实现的天气预报微服务治理项目

    基于Spring Cloud的微服务实战 - 天气预报 项目所涉及到的技术及相关版本如下 本项目所采用的技术及相关版本较新,请需要学习的朋友将相关开发环境设置成跟本...Spring Boot Quartz Starter 2.0.0.M4 Quartz Scheduler

    Spring in Action(第二版 中文高清版).part1

    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。根据eladmin项目进行改造。整合常用的Components..zip

    【标题】中的“基于最新的Java 21和SpringBoot 3.2”指的是这个实战项目采用了当前最新的Java版本(Java 21)和Spring Boot框架的版本(SpringBoot 3.2)。Java作为广泛使用的编程语言,每个新版本通常会引入性能...

    springBoot整合mybatis plus

    它集成了大量的常用第三方库配置,如JPA、RabbitMQ、Quartz等,使得开发者可以“零配置”运行。 ### 2. MyBatis Plus简介 MyBatis Plus是在MyBatis的基础上增加了很多实用功能,如:无注解SQL编写、条件构造器、...

    若依微服务版安装流程(整合自几位大佬)

    - **Maven**:项目构建工具,可以通过IDEA插件市场直接搜索安装。 - **Sentinel**:阿里巴巴开源项目,用于流量控制,本教程暂时不涉及。 - **Node.js**:用于前端开发,安装过程简单。 - **Redis**:内存数据结构...

    Java工程师面试宝典

    - **构建工具与多模块划分**:Maven 或 Gradle 等。 - **图片上传注意事项**:文件大小限制、格式验证等。 - **商品规格设计**:考虑商品属性、价格等信息的组织方式。 - **跨系统调用实现**:RESTful API、RPC 等。...

Global site tag (gtag.js) - Google Analytics