`

190. Spring Boot 2.0 quartz :job data property和inject service

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

【最新动态】

 (1)Spring Boot QQ 4群:776151650

 (2)Spring Cloud视频更新到最新章节:《Feign添加 fallbackFactory 属性来触发请求进行容灾降级

 (3)SpringBoot微信公众号最新更新《193. Spring Boot 数据库迁移:概述》、《192. Spring Boot 2.0 quartz:任务动态管理-添加

 

 

历史相关章节:

 188. Spring Boot 2.0 quartz :回顾

 189. Spring Boot 2.0 quartz :Hello World

 

前言:

       在前一篇文章简单了使用了下,但是在实际当中,我们会在Job类中使用Job Data Property和注入Spring的bean等等情况,要如何解呢?

 

说明:

(1)Spring Boot 版本:2.0.0.RELEASE;

(2)Quartz版本:2.3.0

 

一、使用Job Data Property

1.1 在JobDetail中设置Job Data

       JobDetail构建的时候,是可以设置jobData的,使用的方法是usingJobData(key,value),所以在构建Job的时候,我们可以给Job传递一些data,如下实例(以下代码显示不全,可以左右滑动):

@Bean
public JobDetail myJobDetail() {        
   return JobBuilder.newJob(MyJob.class).withIdentity("MyJob")
           .usingJobData("name","悟纤")
           .storeDurably().build();
}

 

1.2 在Job中接收Job Data

       接收是很简单的,主要定义一个属性,然后设置对应的setter方法即可,如下:

public class MyJob extends QuartzJobBean{
   private String name;
   //Inject the "name" job data property
   public void setName(String name) {
       this.name = name;
   }
   @Override
   protected void executeInternal(JobExecutionContext ctx) throws JobExecutionException {
       System.out.println("hello,"+this.name+");  
   }  
}

 

 

 

二、在Job中注入Service

       在Job类中注入service的话,也是很简单的,直接使用@Autowired即可完成注入,然后进行使用了,如下代码:

    @Autowired
   public HelloService helloService;

     还记得在spring boot 1.0的时候,怎么一个费劲嘛?在2.0的话,就可以直接注入使用了,就是这么简单!

 

点赞、转发、评论,伸出你的双手666…召唤你的小蚂蚁:


你就是你,不一样的小蚂蚁!

 

分享到:
评论

相关推荐

    springboot整合quartz定时任务yml文件配置方式

    完成上述配置后,我们还需要编写定时任务类`MyJob`,继承自`org.quartz.Job`,并实现`execute(JobExecutionContext context)`方法。此外,通过`@DisallowConcurrentExecution`注解确保任务不会并发执行。 ```java ...

    spring boot集成quartz定时器

    Spring Boot 是一个快速开发框架,它简化了在Java应用程序中配置Spring和其他库的过程。Quartz 是一个开源的任务调度框架,可以用于创建、管理和执行计划任务。本文将详细讲解如何在Spring Boot项目中集成Quartz...

    spring2.0 Quartz 执行每天定时任务 普通普是执行任务

    标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...

    Spring boot 2.0 CMS 系统源码

    Spring Boot 2.0 版本是对先前版本的重大升级,带来了许多性能优化、新特性和对最新依赖库的支持。在构建 CMS(内容管理系统)时,Spring Boot 的优势在于其自动配置、内嵌式Web服务器、健康检查和监控等特性,使得...

    org.xml.sax.SAXException: Invalid element

    NULL 博文链接:https://wilian.iteye.com/blog/1992365

    springboot2.0整合quartz

    同时,Spring Boot 2.0的其他特性,如Spring Data、Actuator等,也可以方便地与Quartz结合,为我们的定时任务提供更多的可能性。 总结,Spring Boot 2.0整合Quartz简化了定时任务的开发流程,使得我们可以专注于...

    spring-boot使用quartz框架定时发送邮件

    这个类需要继承`org.quartz.Job`接口,并实现`execute`方法。在`execute`方法中,我们可以编写发送邮件和生成报表的逻辑: ```java import org.quartz.JobExecutionContext; import org.quartz....

    spring-boot-quartz

    Spring Boot 是一个流行的 Java 框架,用于简化Spring应用程序的初始设置和配置。Quartz 是一个开源的作业调度框架,常被用来执行定时任务。当我们结合 Spring Boot 和 Quartz,我们可以构建一个强大的定时任务管理...

    基于Spring Boot的Quartz任务调度系统.zip

    技术路线Spring Boot 2.0, MySQL 5.68.0, Spring Quartz 2.3, Swagger 2, Logback 配置文件 PropertyLoader.java加载application.properties配置文件。 application.properties包含应用名称、端口、数据库连接...

    spring整合其他框架

    Spring和CXF结合,可以方便地实现服务的发布、调用和管理,同时利用Spring的依赖注入和AOP(面向切面编程)能力,增强服务的可测试性和可维护性。 3. Spring与Mail整合:Spring的Mail API允许开发者轻松地发送邮件...

    spring boot + quartz 动态管理 分布式

    在分布式环境下,Spring Boot和Quartz的集成可以利用Spring Cloud Data Flow或者Quartz的Cluster机制来实现任务的分布式管理。Spring Cloud Data Flow提供了一种统一的方式来管理和部署流式任务和批处理作业,包括...

    spring2.0 Quartz 执行每天定时任务 建议用quartz-all-1.8.4.jar更稳定,兼容性更好

    要详细了解如何实现每天定时任务,你需要查看这些内容,例如Job类的实现、配置文件(如`quartz.properties`)以及如何在Spring中配置Trigger和Scheduler。 总之,Spring 2.0与Quartz的集成使得在Java应用中创建和...

    spring2.0_jar

    下面我们将逐一探讨这些jar包的功能和它们在Spring 2.0中的作用。 1. spring-beans.jar:这是Spring框架的核心模块之一,提供了Bean工厂,它是Spring管理对象(bean)的基础。Bean工厂负责创建、配置和管理应用中的...

    spring-boot-Quartz-1.zip

    接下来,创建一个Quartz作业类(Job)并实现`org.quartz.Job`接口。这个类将定义实际要执行的任务。例如: ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz....

    如何用java实现邮件方式每天发送消息

    在`pom.xml`文件中,添加Spring Boot的`spring-boot-starter-mail`和`spring-boot-starter-quartz`(或`spring-boot-starter-task`)依赖。这两个依赖分别用于邮件服务和定时任务。 ```xml <!-- Spring Boot Mail...

    关于spring中quartz的配置

    <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 配置Quartz属性 --> <property name="configLocation" value="classpath:quartz.properties"/> <!...

    spring之定时任务实现(spring-task和quartz等不同方式)

    然后,定义Job类并实现`org.quartz.Job`接口,以及触发器(Trigger)来指定何时执行任务。例如: ```java public class MyJob implements Job { @Override public void execute(JobExecutionContext context) { ...

    spring java 定时器 执行两次 quartz

    然后,定义你的任务类(Job)并实现`org.quartz.Job`接口: ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob implements ...

    Autofac.Extras.Quartz, Quartz.Net的Autofac集成.zip

    Autofac.Extras.Quartz, Quartz.Net的Autofac集成 Autofac.Extras.Quartz用于 Quartz.Net的Autofac集成包。Autofac.Extras.Quartz 为每个石英作业创建嵌套的litefime作用域。 完成作业执行后释放嵌套作用域。这允许...

    SpringBoot2.0整合Quartz定时任务,实现基于数据库如mysql的动态任务

    在Spring Boot 2.0中整合Quartz定时任务,可以实现基于数据库如MySQL的动态任务管理,这在很多需要周期性执行任务的应用场景中非常实用。以下将详细讲解这一过程。 首先,我们要在项目的`pom.xml`文件中添加Quartz...

Global site tag (gtag.js) - Google Analytics