## 第二章 SpringBoot 集成框架(一)
一、认识 Quartz 框架
- 1,Quartz框架的特点有:
- (1 , 强大的调度功能,例如支持多样的调度方式)
(2, 灵活的应用方式,例如支持任务和调度的多种组合方式)
(3, 分布式和集群功能,Terracotta 在收购后,对原来功能作了进一步提升)
2,关调度的三个主要的概念- 调度器 :Quartz 框架的核心是调度器。调度器负责管理 Quartz 应用 运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。为确保可伸缩性,Quartz 采用了基于多线程的架构。启动时,框架初始化一套 worker 线程,这套线程被调度器用来执行预定的作业。这就是 Quartz 怎样能并发运行多个作业的原理。Quartz 依赖一套松耦合的线程池管理部件来管理线程环境。
- 任务:就是我们自己编写的业务逻辑,交给 quartz 帮我们执行。
- 触发器:即调度作业,什么时候开始执行,什么时候结束执行。
二、Quartz 框架核心概念
Quartz 任务调度的主要组成元素有:Trigger(触发器)、Scheduler(任务调度器)、Job(任务)。其中 Trigger,Job 是元数据,Scheduler 才是任务调度的控制器。具体的含义描述如下:
⚫ JobDetail:quartz 每次都会直接创建一个 JobDetail,同时创建一个 Job 实例,它不直接接受一个 Job
的实例,但是它接受一个 Job 的实现类,通过 new instance()的反射方式来实例一个 Job,在这里 Job是一个接口,我们需要自己编写类去实现这个接口。
⚫ Trigger : 它由 SimpleTrigger 和 CronTrigger 组成,当仅需要触发一次或者以固定间隔周期性触发执行,SimpleTrigger是最适合的选择。而CronTrigger则可以定义Cron 表达式定义出各种复杂的调度
方案,如每天上午 9:00 执行,每周一、周三、周五下午 5:00 执行。
⚫ Scheduler:调度器,JobDetail 和 Trigger 可以通过 Scheduler 绑定到一起。
三、SpringBoot 集成 Quartz 框架
1、SpringBoot 集成 Quartz 框架的基本步骤SpringBoot 框架提供了对 Quartz 2框架的整合,并且整合起来超级简单,下面介绍集成的实现具体步骤:
1 ,引入 Quartz 依赖
2, 我们需要使用注解@Configuration 来定义一个配置类(@Configuration,@Bean 这两个注解代替 xml 配置,@Configuration 相当于 xml 中的标签 @Bean 相当于标签 ,通常两者结合使用。)
3, 为了方便我们看清楚任务调度的次数,我们声明一个辅助类 - 接下创建一个任务调度的类
- 最后定义主模块启动类,启动测试即可。
四、SpringBoot 集成 Mybatis 框架
第一步:添加依赖;
第二步:配置数据源;
第三步:扫描接口包。 - 添加依赖;除了常规依赖外,需要加入 Mybatis 和 MySQL 依赖。
- 在 application.properties 配置文件中,配置数据源、Mybatis 的配置及映射文件。
- 在主模块上注解扫描接口包,使用@MapperScan(“包名”)。(Controller 层、Dao 层、Service 层自动注入和原来 Spring 框架用法的使用完全一样)