# spring3 **Repository Path**: homeOFlimu/spring3 ## Basic Information - **Project Name**: spring3 - **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-05-11 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

实验三

课程名称:企业级开发框架专题

学期:2020春季


实验名称全球新型冠状病毒实时数据统计应用程序的设计与实现实验序号
姓 名利牧学 号201741412124班 级17软卓1班
实验地点实验日期2020/5/9指导老师黎志雄
教师评语***实验成绩 评阅教师
百分制**
同组同学
## 实验目标 1、 掌握使用Spring框架自带的RestTemplate工具类爬取网络数据; 2、 掌握使用Spring框架自带的计划任务功能; 3、 掌握使用Apache Commons CSV组件解释CSV文件; 4、 掌握Java 8的Stream API处理集合类型数据; 5、 了解使用模板引擎或前端框架展示数据。 ## 实验步骤 ### 1、创建Spring Boot项目,导入依赖 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/202141_4ba8c321_4839312.png "截屏2020-05-11下午8.21.25.png") ### 2、分析csv文件的数据结构,定义model类。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/202243_ae0681b9_4839312.png "截屏2020-05-11下午8.22.09.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/202300_88269418_4839312.png "截屏2020-05-11下午8.22.23.png") ### 3、使用Spring框架自带的RestTemplate工具类爬取全球冠状病毒实时统计数据并保存。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/202619_bdbf6d96_4839312.png "截屏2020-05-11下午8.25.34.png") ![配置文件](https://images.gitee.com/uploads/images/2020/0511/202649_e2fa7817_4839312.png "截屏2020-05-11下午8.26.40.png") ### 4、controller控制器 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/203107_ad245ccf_4839312.png "截屏2020-05-11下午8.30.44.png") ### 5、单元测试 #### 测试service ``` void testService() throws IOException { List virusData=new ArrayList(); virusData=svc.FindAll(); Assertions.assertNotNull(virusData); List countryData=new ArrayList(); countryData=svc.findByCountry("china"); Assertions.assertNotNull(countryData); List provinceData=new ArrayList(); provinceData=svc.findByCountry("Beijing"); Assertions.assertNotNull(provinceData); } ``` #### 测试controller ``` void testHandler() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/")) .andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.status().isOk()); mockMvc.perform(MockMvcRequestBuilders.get("/findAll")) .andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.status().isOk()); String uri="/findByCountry"+"?country=china"; mockMvc.perform(MockMvcRequestBuilders.get(uri)) .andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.status().isOk()); } ``` #### 结果 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/205952_b7015b36_4839312.png "截屏2020-05-11下午8.59.40.png") ### 6、渲染到前端 #### 主页面 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/203243_05b4e14a_4839312.png "截屏2020-05-11下午8.14.31.png") #### 搜索某国 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/203302_75db81f3_4839312.png "截屏2020-05-11下午8.14.54.png") #### 搜索某省/州 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0511/203323_092008cb_4839312.png "截屏2020-05-11下午8.15.08.png")