# test3-springboot
**Repository Path**: shiyichan/test3-springboot
## Basic Information
- **Project Name**: test3-springboot
- **Description**: No description available
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-05-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 实验三 全球新型冠状病毒实时数据统计应用程序的设计与实现
学号:201741412218 姓名:陈诗怡 班级:17软卓2班 指导老师:黎志雄 实验日期:2020.5.20
## 一、实验目标
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、添加功能模块lombok、commons-csv等;
#### `步骤` :在pom文件中添加依赖
```
org.projectlombok
lombok
true
org.apache.commons
commons-csv
1.8
```
#### 3、爬取全球冠状病毒实时统计数据;
#### 4、使用Spring框架自带的RestTemplate工具类爬取数据;
#### 5、分析csv文件的数据结构,定义model类;
#### 6、使用Apache Commons CSV组件解释CSV文件;
#### 7、使用Spring框架自带的计划任务功能定时更新统计数据;
#### 8、要确保应用程序启动时,获取一次统计数据;
```
@Override
public void afterPropertiesSet() throws Exception {
fetchCoronaVirusData();
}
```
#### 9、单元测试;
```
@Autowired
Restemplate restemplate;
@Test
void RestemplateTest() {
assertNotNull(restemplate.getAllRegionStats());
}
```
```
@Autowired
private MockMvc mockMvc;
@Test
public void ControllerTest() throws Exception {
this.mockMvc.perform(get("/"))
.andDo(print())
.andExpect(status().isOk())
.andExpect(content().string(notNullValue()));
}
```
#### 10、定义Cotroller控制器;
#### 11、定义前端数据展示页面。
## 四、实验总结
```
1.本次实验通过Spring Initializr向导创建Spring Boot项目,是很便捷的方法,在构建的时候配置选择需要的依赖即可,pom.xml会自动编写好,很方便。
2.本次实验让我们进一步掌握了解了spring boot的自动配置原理。
3.本次实验让我们掌握了Spring框架动态注册Bean的原理,和自动生成元数据文件的操作
4.通过自定义事件发布器、事件类和事件监听器进行测试,我们进一步了解了spring框架的事件模型
```