# 实验一 使用Spring Boot构建应用程序 **Repository Path**: li-kewei/Experiment-one ## Basic Information - **Project Name**: 实验一 使用Spring Boot构建应用程序 - **Description**: 实验一 使用Spring Boot构建应用程序 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##

**东莞理工学院网络空间安全学院**

##### **课程名称** :企业级开发框架专题                                                                                                                              **学期:2020秋季** `实验名称`:使用Spring Boot构建应用程序    `实验序号`:一 `姓名`:李科尉     `学号`:201841413217    `班级`:18网工2 `实验地址`:     `实验日期`:2020-10-7    `指导老师`:黎志雄 `教师评语`:XXX    `实验成绩`:XXX    `百分制`:XXX `同组同学`:无 # 实验一 使用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项目; 在https://start.spring.io/ 中新建包
2、 添加两个功能模块:spring MVC、lombok; ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/164242_8791df6c_8067943.png "屏幕截图.png") 3、 添加阿里云镜像仓库作为项目maven仓库; 打开maven的配置文件settings.xml ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/164545_0b6e944f_8067943.png "屏幕截图.png") 添加阿里云镜像仓库地址 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/164935_5b05f148_8067943.png "屏幕截图.png") 4、 解释项目pom.xml文件中主要标签的意义; ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/171310_7289315d_8067943.png "屏幕截图.png") 被继承的父项目的构件标识符 被继承的父项目的全球唯一标识符 被继承的父项目的版本 父项目的pom.xml文件的相对路径。相对路径允许你选择一个不同的路径。默认值是../pom.xml。Maven首先在构建当前项目的地方寻找父项 目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/172011_3fb6c239_8067943.png "屏幕截图.png") JDK的版本 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/172255_b150eb7f_8067943.png "屏幕截图.png") 项目依赖 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/172336_d7056d15_8067943.png "屏幕截图.png") Spring官方的Maven plugin,用于打包Fat Jar 5、 配置jetty或undertow作为Spring Boot应用程序的默认Servlet容器; 排除Tomcat依赖项 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/165435_7580d098_8067943.png "屏幕截图.png") 添加undertow配置项 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/165500_3cf75c87_8067943.png "屏幕截图.png") 替换为undertow ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/165742_05d25e11_8067943.png "屏幕截图.png") 6、 配置Gson作为Spring Boot应用程序的默认JSON MessageConverter;(可选) 7、 修改Spring Boot应用程序启动时的Banner;(新增-2020-10-5) 在resources下创建banner.txt ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/165921_463c24f9_8067943.png "屏幕截图.png") banner.txt文件中如下输入 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/170146_5a416e2d_8067943.png "屏幕截图.png") 运行时成功显示 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/170238_1a5d6de9_8067943.png "屏幕截图.png") 8、 添加一个简单的Spring Mvc控制器组件,用于测试,如下图: ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/170330_26c4fbd9_8067943.png "屏幕截图.png") 新建类HelloController ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/170527_753d6ff9_8067943.png "屏幕截图.png") 输入http://localhost:8080/hello会显示你好,Spring Boot! ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/170857_76d413c4_8067943.png "屏幕截图.png") 9、 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean。如下图: ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/173303_bddabdea_8067943.png "屏幕截图.png") 定义一个CommandLineRunner的Bean ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/173335_b7b6b73d_8067943.png "屏幕截图.png") 运行结果 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/173407_d19ef346_8067943.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/180120_b63ba6c3_8067943.png "屏幕截图.png") 10、 编写一个简单的单元测试。如下图: ![123](https://images.gitee.com/uploads/images/2020/1011/180231_3132d7e3_8067943.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/185439_88a3eb16_8067943.png "屏幕截图.png") 结果 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/185937_88c38911_8067943.png "屏幕截图.png") 11、使用IntelliJ IDEA的HTTP Client工具测试控制器端口; 新建一个test.http文件,输入如下 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/191042_f15b9463_8067943.png "屏幕截图.png") 运行结果 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/191506_bf445c1e_8067943.png "屏幕截图.png") 12、 在命令行中使用spring官方提供的maven插件 spring-boot 运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090; 运行程序 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/193642_3881acdc_8067943.png "屏幕截图.png") 运行成功 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/193752_7aca0bbd_8067943.png "屏幕截图.png") 修改容器的默认端口 在application.properties中键入server.port = 9090 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/194358_880d2ffc_8067943.png "屏幕截图.png") 修改成功 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/195050_25dc5d8a_8067943.png "屏幕截图.png") 也可以 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/203141_d195c507_8067943.png "屏幕截图.png") 运行并端口修改成功 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/203847_c31cfc78_8067943.png "屏幕截图.png") 13、 在属性文件中配置Spring Boot应用程序以debug模式运行。 在application.properties中添加debug=true ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/200547_6a0c55a6_8067943.png "屏幕截图.png") debug运行 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/200731_51973a80_8067943.png "屏幕截图.png") 14、 在命令行中编译、打包Spring Boot应用程序。 打包 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/202024_d532846f_8067943.png "屏幕截图.png") 打包好 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/202057_20812e70_8067943.png "屏幕截图.png") 15、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/204112_7da0e0c7_8067943.png "屏幕截图.png") 16、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/201854_9b619148_8067943.png "屏幕截图.png") 运行并修改成功 ![输入图片说明](https://images.gitee.com/uploads/images/2020/1011/201820_b42301f8_8067943.png "屏幕截图.png") 17、使用markdown标记语方编写实验报告,并生成README.md文件放在项目仓库的根目录。