Spring学习手记(二)——控制台调度任务
概览
在这一章文档里,要教的是怎么样让控制台定时输出一些信息,效果如下
看到上面每隔5秒输出一条控制台的信息,那么下面就开始编写代码。
项目准备
还是一样,先从start.spring.io上下载好开始的项目,然后导入IDE编辑代码
步骤
这一章要创建的类只有一个 - ScheduledTask类,代码如下
package com.example.demo;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;import java.text.SimpleDateFormat;
import java.util.Date;@Component
public class ScheduledTasks {private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");@Scheduled(fixedRate = 5000)public void reportCurrentTime() {log.info("The time now {}", dateFormat.format(new Date()));}}
这里有个 @Scheduled 注释,它定义了相关方法运行的时间,后面的括号中设置了 fixedRate 的值为5000ms,指的是两次调用开始时间间隔5s,也可以用 fixedDelay 来指定两次调用任务完成之间的间隔,更多的用法也可以访问
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html
接下来只要在我们的main方法前加上一个注释 @EnableScheduling 就完成了这个任务调度的功能
@EnableScheduling
@SpringBootApplication
public class Application {public static void main(String[] args){SpringApplication.run(Application.class);}
这里 @EnableScheduling 注释会让后台生成一个任务执行器来根据ScheduledTask中的代码调度任务的执行
结尾唠嗑
本章内容好像不是很难······
那今天就再往下更新······
Spring学习手记(二)——控制台调度任务相关推荐
- Spring学习总结二
Spring框架的代理与AOP.AspectJ Spring学习总结二 0.在理解什么是AOP之前的一些话 1.什么是AOP 2.AOP的重要概念 3.代理模式 3.1.静态代理 3.2.动态代理 3 ...
- Spring学习(二)Spring IoC 和 DI 简介
本文借鉴:Spring学习(特此感谢!) 一.IOC(控制反转) 定义:反转控制 (Inversion Of Control)的缩写,即创建对象的反转控制. 正向控制:若要使用某个对象,需要自己去负责 ...
- Spring 学习之 二----Spring创建对象的三种方式
最近在系统的学习Spring,现在就Spring的一些知识进行总结. 我们知道Spring是一个开放源代码的设计层面的框架,他主要解决的是业务逻辑层与其他各层之间松耦合的问题. Spring 有三个核 ...
- Spring学习系列(二) 自动化装配Bean
一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组 ...
- PHPCMS学习手记(二)----------模板变量
模板变量直接关系到页面显示,通常我们在用CMS做网站的时候,哪怕是一次也没有用过的一套系统,我们如何快速认识他自己的一套模板变量呢,其实很简单,找到你从来没有见过的写法的一串字符,那么这些应该就是他的 ...
- Spring学习(二)—— 对象创建方式及依赖注入
文章目录 对象创建方式 配置 依赖注入 构造器注入 Set方式注入 拓展方式注入 对象创建方式 默认使用无参构造器创建 当我们需要使用有参构造器时,有以下几种方式: 1.下标赋值 <!--第一种 ...
- Spring5学习(二):Spring 配置、依赖注入
Spring5学习(二) 5.Spring 配置 5.1 别名 5.2 Bean的配置 5.3 import 6.依赖注入 6.1 构造器注入 6.2 Set注入 6.3 其他注入 6.4 bean的 ...
- 剑英的区块链学习手记(二)
孙子说,知己知彼,百战不殆. 咱是通过小蚁学习区块链技术的. 开工之前,先了解一下小蚁的资料家族. 小蚁网站 https://www.antshares.org/ 小蚁源码 https://githu ...
- 第十四课 k8s源码学习和二次开发原理篇-调度器原理
第十四课 k8s源码学习和二次开发原理篇-调度器原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第十四课 k8s源码学习和二次开发原理篇-调度器原理 第一节 ...
最新文章
- 【sql】实现分页查询
- AI战“疫“之路:​揭秘高精准无感测温系统的全栈AI 技术
- 从校园情侣到教授夫妇,520当天他们携手发顶刊!
- 皮一皮:怎么才能让员工有干劲...
- return 的使用
- 破解无线路由免费上网
- JUC系列(九)| ThreadPool 线程池
- 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题
- 会计用计算机很快是,40个超实用电脑快捷键,老会计都在用!
- 【报告分享】2019全球住宅报告.pdf(附下载链接)
- 解决RStudio(非conda安装)在使用Anaconda中的R环境时,缺失“ libbz2-1.dll ”而不能正常启动问题
- spark 算子使用类变量_SparkCore的常用算子
- matlab音频指纹识别_指纹识别算法matlab实现.doc
- android listview表格分页显示,android实现listview分页的方法
- 购买域名后如何使用?
- 前端自动生成Change Log的实现
- ctf之php序列化,0ctf_2016_unserialize(php反序列化逃逸字符)
- WEMOS D1 R1/R2 [ESP8266] + PCA9685 驱动舵机
- Excel 批量重命名照片
- 特斯拉电动车电池组电路结构
热门文章
- 重写虫虫项目犯的低级错误
- [AHK]如何更改键盘快捷方式,在 Windows 10 中的虚拟桌面之间切换
- 合并pd.merge()含有相同的某一列两个不同的dataframe表格
- HTML5期末大作业:旅游网页设计与实现——四川成都-(9页 带购物车)
- 从互联网进化的角度看AI+时代的巨头竞争
- 电场刺激响应性和AIE水凝胶/调控发射波长及亮度AIE微球/AIE糖肽聚合物的研究
- [转载] 百科全说——陈焕然:揭秘高科技美容(10-02-22)
- 【python】字符串前加u,r,b,f的含义
- 安卓开发制作微信界面
- 微信H5分享朋友圈踩坑