# quartz-spring-boot **Repository Path**: snowheart/quartz-spring-boot ## Basic Information - **Project Name**: quartz-spring-boot - **Description**: Quartz 和 Spring Boot 的整合以及 Starter - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-05-23 - **Last Updated**: 2022-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## First: 以`quartz-starter-example`和`quartz-spring-boot-starter`工程为准,主干代码基本上和原有的那套没啥区别。解决依赖注入的关键点在于下面几块地方: 1. `ScheduleConfiguration`类中仅做Map的初始化,所以他的加载顺序完全可以放在第一个,毫不受影响。 2. 在开始调度之前,即`TaskFactoryBean`的108行之前,根据数据库中查到的task对后续schedule要用到的对象做初始化并注册。 3. `TaskScheduleManager`的骨干代码没有改动。 从表面上来看,就是`TaskScheduleManager`对象在初始化时候需要set `TaskFactoryBean` 对象,而 `TaskFactoryBean` 对象初始化过程中的afterProperties()方法中会从容器中获取 `TaskScheduleManager` 对象,并没有对 `TaskScheduleManager` 的显式持有依赖。 ## Others: 我在构建代码的时候,用到了lombok插件,使用这个东东需要做两步操作: > 1. maven的pom文件中做import > 2. eclipse/idea安装相应的插件 > > Idea 直接搜索 Lombok plugin 安装即可 > > eclipse 参照 [此链接](https://my.oschina.net/u/3771868/blog/1837243) 进行安装 将`quartz-spring-boot-starter/src/resources/META-INF/mysql.sql`文件在数据库中执行初始化表结构后,修改`application.properties`中的数据库连接即可。 ## 其他: 通用Mapper的`cn.snowheart.boot.common.mapper.MyMySQLMapper`抽象类需要放到项目扫描不到的地方,不然会启动报错。