# springboot-experiment1
**Repository Path**: lirisheng/springboot-experiment1
## Basic Information
- **Project Name**: springboot-experiment1
- **Description**: 使用springboot进行简单的项目搭建以及测试
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-03-27
- **Last Updated**: 2020-12-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 实验1
## 姓名:黎日升 学号:201741412101
### 一.实验目的
- 掌握使用IntelliJ IDEA创建Spring Boot应用程序的方法;
- 了解spring-boot-starter-parent的配置内容;
- 掌握如何利用Starter扩展Spring Boot应用程序的功能;
- 掌握如何配置Starter;
- 掌握如何通过属性文件定制Spring Boot应用程序的初始化参数;
- 掌握使用Spring Boot编写简单的单元测试;
- 了解Spring Boot应用程序的Fat Jar文件;
- 掌握Markdown轻量级标记语言编写README.md文件。
### 二.实验环境
- JDK1.8
- Maven3.6
- IntelliJ IDEA
### 三.实验任务
1. 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目;
2. 添加两个功能模块:spring MVC、lombok;
1.任务1.2的实验步骤:这里用命令行创建Spring Boot项目
2.在命令行中键入如下命令
3.在idea中打开该解压的生成的zip包
3. 添加阿里元镜像仓库作为项目maven仓库
4. 解释项目pom.xml文件中主要标签的意义
- `` :用来继承parent pom.xml
- ``,`` ``来描述项目的唯一性(qualifier name)
- ``:project name
- ``:可以在其中定义属性,并且可以在pom.xml地方引用该被定义属性的值
- `` ``:可以自定义pom的配置,这样可以在不同的环境中切换profile来构建项目
- `` ``:可以其中定义镜像
- `` ``:引入依赖模块
- `` ``:可以引入插件
5. 配置jetty或undertow作为SpringBoot应用程序的默认Servlet容器
配置如下:
1.先去除默认的嵌入式tomcat容器
2.引入jetty-starter
6. 添加一个简单的Spring Mvc 控制器组件,用于测试,如下图:
7. 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean
源代码截图:
运行结果截图:
8. 编写一个简单的单完测试
源代码如下:
9. 使用IntelliJ IDEA的HTTP Client工具测试控制器端口
实验步骤:
1.在项目的root目录下创建一个test.http
2.用Get方式去测试上面编写的controller,在test.http文件中写入如下代码
```
GET http://localhost:8080Accept: application/json
```
3.测试结果如下截图:
10.在命令行中使用spring-boot插件运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090;
11. 在属性文件中配置Spring Boot应用程序以debug模式运行。
12. 在命令行中编译、打包Spring Boot应用程序。
在命令行中键入如下代码:
```
mvn package
```
运行结果截图:
13.在命令行中使用java命令运行Spring Boot应用程序的Jar文件
cmd切换到当前项目目录下,键入如下命令
```
java -jar target/demo-0.0.1-SNAPSHOT.jar
```
运行结果截图
14. 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。