# SpringBoot_exp_03
**Repository Path**: D_dudu/SpringBoot_exp_03
## Basic Information
- **Project Name**: SpringBoot_exp_03
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-06-15
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#
东莞理工学院网络空间安全学院
实验报告
| 课程名称 | 企业开发框架 | | | 学期 | 2019年秋季 |
| ------------ | --------------------------- | ------------ | ------------ | ------------------ | ---------- |
| **实验名称** | 使用spring boot构建应用程序 | | | **实验序号** | 三 |
| **姓名** | 杜文英 | **学号** | 201741412110 | **班级** | 17软卓1班 |
| **实验地点** | 家里 | **实验日期** | 2020.06.16 | **指导老师** | 黎志雄 |
| **教师评语** | | **评阅老师** | | **成绩(百分制)** | |
| **同组同学** | 无 | | | | |
### 一、实验目标:
1. 掌握使用Spring框架自带的RestTemplate工具类爬取网络数据;
2. 掌握使用Spring框架自带的计划任务功能;
3. 掌握使用Apache Commons CSV组件解释CSV文件;
4. 掌握Java 8的Stream API处理集合类型数据;
5. 了解使用模板引擎或前端框架展示数据。
### 二、实验条件:
1. JDK 1.8或更高版本
2. Maven 3.6+
3. IntelliJ IDEA
4. commons-csv 1.8+
### 三、实验内容:
1. 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目。
2. 添加功能模块:spring MVC、lombok、commons-csv等。
推荐使用commons-csv组件处理csv文件:
3. 爬取全球冠状病毒实时统计数据。
4. 使用Spring框架自带的RestTemplate工具类爬取数据。
5. 分析csv文件的数据结构,定义model类。
6. 使用Apache Commons CSV组件解释CSV文件。
7. 使用Spring框架自带的计划任务功能定时更新统计数据。
8. 要确保应用程序启动时,获取一次统计数据。
9. 单元测试。
必须编写单元测试。所有控制器 与 Service 组件,必须写单元测试用例进行测试。
10. 定义Cotroller控制器。
我们需要定义一个控制器,用于返回数据给前端展示。
控制器必须支持查询功能。
11. 定义前端数据展示页面。
可以使用 任何视图引擎 或 任何前端框架 构建前端数据展示。
### 四、实验步骤(可与实验内容合并描述):
1. #### 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目。
图1
2. #### 添加功能模块:spring MVC、lombok、commons-csv等。推荐使用commons-csv组件处理csv文件:
图2
3. #### 爬取全球冠状病毒实时统计数据。
4. #### 使用Spring框架自带的RestTemplate工具类爬取数据。
图3
5. #### 分析csv文件的数据结构,定义model类。
图4
6. #### 使用Apache Commons CSV组件解释CSV文件。
图5
7. #### 使用Spring框架自带的计划任务功能定时更新统计数据。
首先通过在配置类上添加 @EnableScheduling 注解来开启对计划任务的支持
图6
然后在要执行计划任务的方法上注解 @Scheduled,声明这是一个计划任务
图7
设置计划执行的时间,以及通过属性文件设置计划任务线程池的大小,实现并行执行计划任务
图8
8. #### 要确保应用程序启动时,获取一次统计数据。
图9
图10
9. #### 单元测试。必须编写单元测试。所有控制器 与 Service 组件,必须写单元测试用例进行测试。
在test目录下相应的位置分别创建test类,并进行测试。
图11
对service类的方法进行测试:
图12
图13
对controller类的方法进行测试
图14
10. #### 定义Cotroller控制器。我们需要定义一个控制器,用于返回数据给前端展示。控制器必须支持查询功能。
图15
11. #### 定义前端数据展示页面。
#### 可以使用 任何视图引擎 或 任何前端框架 构建前端数据展示。
使用视图引擎进行简单的数据展示:
首先要导入依赖
图16
图17
图18
### 五、实验总结
通过本次实验,我基本掌握使用Spring框架自带的RestTemplate工具类爬取网络数据、使用Spring框架自带的计划任务功能、使用Apache Commons CSV组件解释CSV文件;接触了Java 8的Stream API处理集合类型数据;了解使用模板引擎或前端框架展示数据。