Java课程实验 Spring Boot 任务管理(上)

简介: Java课程实验 Spring Boot 任务管理

一、实验目的

1.使用 Spring Boot 完成异步任务、定时任务以及邮件任务。

二、实验内容

1.熟悉 Spring Boot 整合异步任务的实现

2.熟悉 Spring Boot 整合定时任务的实现

3.熟悉 Spring Boot 整合邮件任务的实现

三、实验步骤及截图

1.使用Idea+Maven新建项目,并进行必要配置。

2.编写入口类,并启用计划任务

1. @EnableScheduling
2. @SpringBootApplication
3. public class ChapterAsync_LWL {
4. public static void main(String[] args){
5.         SpringApplication.run(ChapterAsync_LWL.class,args);
6.     }
7. }

3.在service类,编写方法测试cron定时任务。

1. //    简单的定时任务
2. 
3.     @Scheduled(cron = "10 * * * * *")
4. 
5.     public void Task01(){
6. 
7.         System.out.println("***********每分钟的第10S启动!*********"+simpleDateFormat.format(new Date()));
8. 
9.     }

4.在service类,编写方法测试fixedDelay定时任务。

1. //delay从第一次开始就计算间隔时间
2. 
3.     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
4. 
5.     int index = 1;
6. 
7.     @Scheduled(fixedDelay = 10000)
8. 
9.     public void Task02(){
10. 
11.         System.out.println("***********Task02任务第"+index+"启动!*********"+simpleDateFormat.format(new Date()));
12. 
13.         try{
14. 
15.             Thread.sleep(5000);
16. 
17.         }catch (Exception e){
18. 
19.             System.out.println("错误!");
20. 
21.         }
22. 
23.         System.out.println("***********Task02任务第"+index+"结束!*********"+simpleDateFormat.format(new Date()));
24. 
25.         index++;
26. 
27.     }

5.在service类,编写方法测试fixedRate定时任务。

1.    //rate从第一次开始就计算间隔时间
2. 
3.     @Scheduled(fixedRate = 10000)
4. 
5.     public void Task03(){
6. 
7.         System.out.println("***********Task03任务第"+index+"启动!*********"+simpleDateFormat.format(new Date()));
8. 
9.         try{
10. 
11.             Thread.sleep(5000);
12. 
13.         }catch (Exception e){
14. 
15.             System.out.println("错误!");
16. 
17.         }
18. 
19.         System.out.println("***********Task03任务第"+index+"结束!*********"+simpleDateFormat.format(new Date()));
20. 
21.         index++;
22. 
23.     }

6.编写controller类,添加sendSms方法,调用无返回值的service方法。

1. @Autowired
2. 
3.     AsynService asynService;
4. 
5.     @GetMapping("/sendSMS")
6. 
7.     public String sendSms() throws Exception{
8. 
9.         System.out.println("***********主方法开始运行***********");
10. 
11.         Long timeStart = System.currentTimeMillis();
12. 
13.         asynService.sendSMS();
14. 
15.         Long timeEnd = System.currentTimeMillis();
16. 
17.         System.out.println("***********主方法结束运行--异步调用业务逻辑耗时"+(timeEnd-timeStart)+"***********");
18. 
19.         return "success";
20. 
21.     }

1. @Async//无返回值的被调用方法
2. 
3.     public void sendSMS() throws Exception{
4. 
5.         System.out.println("A无返回值***********耗时的业务逻辑开始被调用***********");
6. 
7.         Long timeStart = System.currentTimeMillis();
8. 
9.         Thread.sleep(50*1000);//模拟一个耗时的操作
10. 
11.         Long timeEnd = System.currentTimeMillis();
12. 
13.         System.out.println("B无返回值***********耗时的业务逻辑结束被调用,耗时:"+(timeEnd-timeStart)+"***********");
14. 
15.     }
目录
相关文章
|
19天前
|
存储 NoSQL Java
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
62 21
|
9天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
42 7
|
1月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
93 33
|
27天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
60 6
|
1月前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
41 5
|
1月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
58 2
|
1月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
78 13
|
1月前
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
49 1
|
1月前
|
Java Spring
Java Spring Boot监听事件和处理事件
通过上述步骤,我们可以在Java Spring Boot应用中实现事件的发布和监听。事件驱动模型可以帮助我们实现组件间的松耦合,提升系统的可维护性和可扩展性。无论是处理业务逻辑还是系统事件,Spring Boot的事件机制都提供了强大的支持和灵活性。希望本文能为您的开发工作提供实用的指导和帮助。
107 15
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。