# DGUT_18_SpringBoot_Lab1 **Repository Path**: demoon-lxw/springboot_lab1 ## Basic Information - **Project Name**: DGUT_18_SpringBoot_Lab1 - **Description**: I don't know how to make it - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-30 - **Last Updated**: 2021-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 实验一 使用Spring Boot构建应用程序 ### 一、实验目的 1. 掌握使用IntelliJ IDEA创建Spring Boot应用程序的方法; 2. 了解spring-boot-starter-parent的配置内容; 3. 掌握如何利用Starter扩展Spring Boot应用程序的功能; 4. 掌握如何配置Starter; 5. 掌握如何通过属性文件定制Spring Boot应用程序的初始化参数; 6. 掌握使用Spring Boot编写简单的单元测试; 7. 了解Spring Boot应用程序的Fat Jar文件; 8. 掌握Markdown轻量级标记语言编写README.md文件。 ### 二、实验环境 1. JDK 1.8或更高版本 2. Maven 3.6+ 3. IntelliJ IDEA ### 三、实验任务 1. 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目; ![创建SpringBoot项目1](https://images.gitee.com/uploads/images/2021/0330/135320_05df07ae_8832516.png "1.png") ![创建SpringBoot项目2](https://images.gitee.com/uploads/images/2021/0330/135420_0ae80202_8832516.png "2.png") 2. 添加两个功能模块:spring MVC、lombok; ![添加两个功能模块](https://images.gitee.com/uploads/images/2021/0330/135516_36ec57f8_8832516.png "3.png") 3. 添加阿里云镜像仓库作为项目maven仓库; ![添加阿里云镜像1](https://images.gitee.com/uploads/images/2021/0330/135552_5af4005a_8832516.png "4.png") ![添加阿里云镜像2](https://images.gitee.com/uploads/images/2021/0330/135559_1a46de3a_8832516.png "5.png") 4. 解释项目pom.xml文件中主要标签的意义; - `project` 根标签 - `modelVersion` POM的版本 - `groupId` 项目组的Id - `artifactId` 工件的Id - `version` 工件的版本 - `parent` 所继承的父POM - `properties` 要更改的变量 - `dependency` 所需要的依赖 5. 配置jetty或undertow作为Spring Boot应用程序的默认Servlet容器; ![配置jetty](https://images.gitee.com/uploads/images/2021/0330/135705_ef3b33f1_8832516.png "6.png") 6. 配置Gson作为Spring Boot应用程序的默认JSON MessageConverter;(可选) ![配置Gson1](https://images.gitee.com/uploads/images/2021/0330/135720_c445223c_8832516.png "22.png") ![配置Gson2](https://images.gitee.com/uploads/images/2021/0330/135737_a4d93892_8832516.png "23.png") 7. 修改Spring Boot应用程序启动时的Banner;(新增-2020-10-5) ![Banner1](https://images.gitee.com/uploads/images/2021/0330/135816_554cb03d_8832516.png "20.png") ![Banner2](https://images.gitee.com/uploads/images/2021/0330/135838_ec56ee15_8832516.png "21.png") 8. 添加一个简单的Spring Mvc控制器组件,用于测试: ![Spring MVC](https://images.gitee.com/uploads/images/2021/0330/135915_fe6120e5_8832516.png "7.png") 9. 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean。 ![CommandLineRunner](https://images.gitee.com/uploads/images/2021/0330/135945_fb861c2d_8832516.png "8.png") 10. 编写一个简单的单元测试: ![单元测试1](https://images.gitee.com/uploads/images/2021/0330/140038_5b7635a8_8832516.png "9.png") ![单元测试2](https://images.gitee.com/uploads/images/2021/0330/140055_cd30f6b8_8832516.png "10.png") 11. 使用IntelliJ IDEA的HTTP Client工具测试控制器端口; ![HTTP测试](https://images.gitee.com/uploads/images/2021/0330/140137_b8a421e3_8832516.png "11.png") 12. 在命令行中使用spring官方提供的mave插件 spring-boot 运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090; ![使用mvn spring-boot:run运行应用程序](https://images.gitee.com/uploads/images/2021/0330/140204_7bd16451_8832516.png "12.png") 13. 在属性文件中配置Spring Boot应用程序以debug模式运行。 ![debug模式运行1](https://images.gitee.com/uploads/images/2021/0330/140300_53c735c7_8832516.png "13.png") ![debug模式运行2](https://images.gitee.com/uploads/images/2021/0330/140308_514fbd20_8832516.png "14.png") 14. 在命令行中编译、打包Spring Boot应用程序。 ![编译打包Spring Boot1](https://images.gitee.com/uploads/images/2021/0330/140346_41c2a0c0_8832516.png "15.png") ![编译打包Spring Boot2](https://images.gitee.com/uploads/images/2021/0330/140428_4bcd872d_8832516.png "16.png") 15. 在命令行中使用java命令运行Spring Boot应用程序的Jar文件。 ![运行Jar](https://images.gitee.com/uploads/images/2021/0330/140445_b3a54ade_8832516.png "17.png") 16. 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。 ![运行Jar并改端口1](https://images.gitee.com/uploads/images/2021/0330/140522_a021d4b7_8832516.png "18.png") ![运行Jar并改端口2](https://images.gitee.com/uploads/images/2021/0330/140547_1900100e_8832516.png#pic_center "19.png") ### 四、总结 Spring Boot比Spring确实减少了不少的配置,简简单单的注解和几行依赖便能启动一个最简单的Web应用程序。但是想要更熟练地使用Spring Boot,就需要更加了解Spring Boot为我们做了多少工作,解决了什么问题,才能在遇到问题时迅速找到答案。