# JavaEE3-Experiment1 **Repository Path**: shallowcmz/JavaEE3-Experiment1 ## Basic Information - **Project Name**: JavaEE3-Experiment1 - **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-03-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
实验名称 实验一 使用Spring Boot构建应用程序 实验序号
姓名 陈铭昭 学号 201741404152 班级 2017软卓1班
实验地点 在家 实验日期 2020/3/29 指导老师 黎志雄
实验成绩 评阅教师
教师评语 同组同学

一、实验目的

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项目;
2、 添加两个功能模块:spring MVC、lombok;
3、 添加阿里云镜像仓库作为项目maven仓库;
4、 解释项目pom.xml文件中主要标签的意义;
5、 配置jetty或undertow作为Spring Boot应用程序的默认Servlet容器;
6、 添加一个简单的Spring Mvc控制器组件,用于测试,如下图:
7、 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean。如下图:
8、 编写一个简单的单元测试。
9、 使用IntelliJ IDEA的HTTP Client工具测试控制器端口;
10、 在命令行中使用spring-boot插件运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090;
11、 在属性文件中配置Spring Boot应用程序以debug模式运行。
12、 在命令行中编译、打包Spring Boot应用程序。
13、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件。
14、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。

四、实验结果及分析

1、 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目;
2、 添加两个功能模块:springMVC、lombok;
* springMVC:
![avatar](./image/01.png)
* lombok
![avatar](./image/02.png)
3、 添加阿里云镜像仓库作为项目maven仓库;
![avatar](./image/03.png)
4、 解释项目pom.xml文件中主要标签的意义;
* 用注释写在pom文件中了
![avatar](./image/04.png)
![avatar](./image/05.png)
![avatar](./image/06.png)
![avatar](./image/07.png)
![avatar](./image/08.png)
5、 配置jetty或undertow作为Spring Boot应用程序的默认Servlet容器;
* 首先将默认的tomcat容器去除
![avatar](./image/09.png)
* 然后添加jetty依赖
![avatar](./image/10.png)
* 运行项目
![avatar](./image/11.png)
6、 添加一个简单的Spring Mvc控制器组件,用于测试
![avatar](./image/12.png)
* 运行项目
![avatar](./image/13.png)
7、 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean
![avatar](./image/14.png)
* 运行项目,由于太多所以只展示一部分
![avatar](./image/15.png)
8、 编写一个简单的单元测试。
![avatar](./image/16.png)
* 运行测试,通过
![avatar](./image/17.png)
9、 使用IntelliJ IDEA的HTTP Client工具测试控制器端口;
![avatar](./image/18.png)
* 运行,得到结果:
![avatar](./image/19.png)
10、 在命令行中使用spring-boot插件运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090;
* 命令为:mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090
* 运行结果:
![avatar](./image/20.png)
![avatar](./image/21.png)
* 访问9090端口
![avatar](./image/22.png)
11、 在属性文件中配置Spring Boot应用程序以debug模式运行。
![avatar](./image/23.png)
* 运行项目后,可以发现多了一些DEBUG日志
![avatar](./image/24.png)
12、 在命令行中编译、打包Spring Boot应用程序。
* 命令为:mvn clean package -Dmaven.test.skip=true
![avatar](./image/25.png)
* 可以看到target中生成了jar文件
![avatar](./image/26.png)
13、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件。
* 命令为:java -jar target/experiment1-0.0.1-SNAPSHOT.jar
![avatar](./image/27.png)
* 访问8080端口
![avatar](./image/28.png)
14、 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。
* 命令为:java -jar target/experiment1-0.0.1-SNAPSHOT.jar --server.port=9090
![avatar](./image/29.png)
* 访问9090端口
![avatar](./image/30.png)