spring cron表达式源码分析( 二 )
文章插图
在CronField类中有一个内部枚举类Type,它就是用来表示cron表达式中的字段(
在cron表达式中没有纳秒字段,其他都跟cron表达式是一一对应的

文章插图
先看下它的构造方法

文章插图
从上面也可以看到这个枚举类有两个字段,第一个是表示当前时间、日期的字段,后面是一个用来表示小于它的时间、日期字段的数组 。
代码的如下图

文章插图
主要代码就是上面框出来的:
- 将我们传入的cron字符串分割成数组 。
- 分别解析每个部分,创建CronExpression对象 。
解析每个部分都调用的是CronField.parsexxx 这样的静态方法 。所有的解析基本是一致的,分别创建BitsCronField对象 。所以我们就只看CronField.parseSeconds方法 。
文章插图
上面就是这个方法的全部代码了,从上面我标注的地方就能看到一个cron字段可以包含的其他符号,分别是,、/、-这3种额外的符号 。
1、在标号1的地方首先把字段用,号拆分成数组,后面在for循环中对每个部分进行处理 。
【spring cron表达式源码分析】2、在for循环中,首先判断是否包含/,如果不包含,就调用parseRange返回一个ValueRange 。
经验总结扩展阅读
- springboot自动配置原理以及手动实现配置类
- SR寄存器BP[x:0]位 痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事
- 三十六 Java开发学习----SpringBoot三种配置文件解析
- SpringBoot 常用读取配置文件的 3 种方法!
- 之三 2流高手速成记:SpringBoot整合mybatis/mybatis-plus实现数据持久化
- 面试突击87:说一下 Spring 事务传播机制?
- 一文搞定 Spring事务
- excel中如何使用countif的表达式进行统计?你知道吗?
- 春节的由来是什么
- 氯酸钾制取氧气的文字表达式