# springboot-lab1 **Repository Path**: liusibo61/springboot-lab1 ## Basic Information - **Project Name**: springboot-lab1 - **Description**: springboot实验一 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-26 - **Last Updated**: 2021-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 课程名称:企业级开发框架 学期:2021年春季 | 实验名称 | 使用Spring Boot构建应用程序 | 实验序号 | 一 | | ------------ | ---------------------------------- | -------- | :--: | | 姓 名 | 刘思博 | 专业班级 | 18软卓2班 | 学 号 | 201841412219 | | 学 号 | 201841412219 | 实验日期 | 2021/3/28 | | 实验地点 | 实验室 | 评阅老师 | | | 成绩(百分制) | | | | | 同组同学 | 无 | | | ## **实验目的** 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仓库; image-20210326130709097 image-20210326130834350 4. 解释项目pom.xml文件中主要标签的意义; 下面的pom.xml的注释中解释了所有主要标签的含义 ```xml 4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.4 com.lsb lab1 0.0.1-SNAPSHOT jar lab1 Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-json org.springframework.boot spring-boot-starter-undertow com.google.code.gson gson org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok ``` 5. 配置jetty或undertow作为Spring Boot应用程序的默认Servlet容器; 详情见第四题的pom.xml配置 6. 配置Gson作为Spring Boot应用程序的默认JSON MessageConverter;(可选) 详情见第四题的pom.xml配置 7. 修改Spring Boot应用程序启动时的Banner;(新增-2020-10-5) resources资源根目录下加入banner.txt,里面画好自己的banner图案 ![image-20210326161048877](%E5%AE%9E%E9%AA%8C%E4%B8%80.assets/image-20210326161048877.png) image-20210326161137909 8. 添加一个简单的Spring Mvc控制器组件,用于测试 image-20210326172832821 9. 定义一个CommandLineRunner的Bean,用于检查Spring Boot应用程序启动完成后在Spring IoC容器中注册的所有Bean image-20210326175622588 image-20210326180153326 10. 编写一个简单的单元测试。 image-20210326234253257 image-20210326234306400 11. 使用IntelliJ IDEA的HTTP Client工具测试控制器端口; 编写test.http测试并运行http请求 ![image-20210328162739552](%E5%AE%9E%E9%AA%8C%E4%B8%80.assets/image-20210328162739552.png) image-20210328162825844 12. 在命令行中使用spring官方提供的mave插件 spring-boot 运行Spring Boot应用程序,并把嵌入式Servlet容器的默认端口8080改为9090; 终端中执行命令mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090 命令行中指定的端口优先级高于配置文件中指定的端口 image-20210328164537688 image-20210328164615626 13. 在属性文件中配置Spring Boot应用程序以debug模式运行。 image-20210328165009985 image-20210328165249279 14. 在命令行中编译、打包Spring Boot应用程序。 终端运行命令mvn clean compile package image-20210328165943464 image-20210328170538726 15. 在命令行中使用java命令运行Spring Boot应用程序的Jar文件。 终端运行命令java -jar lab1-0.0.1-SNAPSHOT.jar image-20210328170507121 16. 在命令行中使用java命令运行Spring Boot应用程序的Jar文件,带参数改变嵌入式Servlet容器的默认端口8080改为9090。 因为之前已经配置了9090端口,所以命令中改为9091 终端运行命令java -jar lab1-0.0.1-SNAPSHOT.jar --server.port=9091 image-20210328171825675