一、SpringBoot单模块项目构建

  1. 访问[https://start.spring.io/](https://start.spring.io/),即Spring官网,配置初始化项目,此处选择Maven Project,语言为Java,2.5.4版本,然后点击Generate下载项目压缩文件,解压后导入idea。导入方法我选择的是解压后通过idea打开文件,导入进去后在右侧maven窗口刷新完成。<br />![785a4ad7629a85404b7b859b8719fb4.png](https://cdn.nlark.com/yuque/0/2021/png/22716353/1631943278462-1e12c94b-c189-4f19-95fa-fca03ce297aa.png#clientId=u1631d7e4-6a64-4&from=drop&height=334&id=u54a8a0f3&margin=%5Bobject%20Object%5D&name=785a4ad7629a85404b7b859b8719fb4.png&originHeight=1026&originWidth=1109&originalType=binary&ratio=1&size=66401&status=done&style=none&taskId=uedf6a8eb-38cb-45fc-b9f0-70beb1215f1&width=361)![image.png](https://cdn.nlark.com/yuque/0/2021/png/22716353/1631943942057-1f49d73a-3a98-4401-aa58-da82ac35bd82.png#clientId=u11346578-18ff-4&from=paste&height=220&id=u5c9dc932&margin=%5Bobject%20Object%5D&name=image.png&originHeight=439&originWidth=732&originalType=binary&ratio=1&size=40330&status=done&style=none&taskId=u3d9c9e14-7615-4a50-8f7b-003beb7b8f4&width=366)

二、准备环境

除了JDK8和Idea,还需要安装并配置Maven。

1、下载maven安装包

访问https://maven.apache.org/download.cgi,下载压缩文件并解压到本机目录。
image.png

2、配置环境变量

配置环境变量,可以在cmd环境下运行maven命令。
在系统变量中增加MAVEN_HOME,指向本地maven安装目录
在Path中增加%MAVEN_HOME%\bin
image.pngimage.png
配置好后,打开cmd命令窗口,输入mvn -version
image.png

3、修改仓库位置

修改conf/setting.xml文件,设定本机maven仓库位置。
image.png
修改conf/setting.xml文件,设定默认下载仓库。
image.png
设定IDEA的maven环境
选择文件——设置,找到maven项,设定Maven Home为本机maven
image.png

三、创建多模块maven项目

1.新建maven父模块misp

image.png
模块命名为misp,设定项目存储位置。
因为该目录所有模块容器,不需要src目录。右键选择项目,选择“打开模块设置”,在弹出项目结构窗口,删除右侧”添加内容根目录”所有设定内容。检查语言级别是否为8-Lambdas,点击确定。然后删除src目录。
image.pngimage.png
image.png

2.创建maven子模块

在misp项目下,右键——新建——模块,选择maven
分别创建子模块mis-web,mis-core,mis-lab,mis-sys
image.png
项目结构如下
image.png
查看项目的根目录pom.xml,以及子模块下的pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>edu.scau</groupId>
  7. <artifactId>misp</artifactId>
  8. <!--检查根目录下pom.xml的packaging标签内容设定为pom-->
  9. <packaging>pom</packaging>
  10. <version>1.0</version>
  11. <!--项目子模块-->
  12. <modules>
  13. <module>mis-web</module>
  14. <module>mis-core</module>
  15. <module>mis-sys</module>
  16. <module>mis-lab</module>
  17. </modules>
  18. </project>
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <!--项目父模块-->
  6. <parent>
  7. <artifactId>misp</artifactId>
  8. <groupId>edu.scau</groupId>
  9. <version>1.0</version>
  10. </parent>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>mis-web</artifactId>
  13. </project>

检查web,core,sys,lab等各子模块的项目结构,右键选择项目,选择“打开模块设置”,检查语言级别是否为8-Lambdas。
image.png

四、为项目添加Springboot依赖

1.修改misp的pom.xml

SpringBoot选择2.2.13.RELEASE版本,修改根目录下pom.xml,最终内容如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>edu.scau</groupId>
  7. <artifactId>misp</artifactId>
  8. <!--检查根目录下pom.xml的packaging标签内容设定为pom-->
  9. <packaging>pom</packaging>
  10. <version>1.0</version>
  11. <!--项目子模块-->
  12. <modules>
  13. <module>mis-web</module>
  14. <module>mis-core</module>
  15. <module>mis-sys</module>
  16. <module>mis-lab</module>
  17. </modules>
  18. <!--版本设定-->
  19. <properties>
  20. <java.version>1.8</java.version>
  21. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  22. </properties>
  23. <!--设定SpringBoot依赖管理,之后引入依赖不需要添加版本号-->
  24. <dependencyManagement>
  25. <dependencies>
  26. <!-- SpringBoot的依赖配置-->
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-dependencies</artifactId>
  30. <version>2.2.13.RELEASE</version>
  31. <type>pom</type>
  32. <scope>import</scope>
  33. </dependency>
  34. </dependencies>
  35. </dependencyManagement>
  36. <!--设定maven编译插件为3.1版本-->
  37. <build>
  38. <plugins>
  39. <plugin>
  40. <groupId>org.apache.maven.plugins</groupId>
  41. <artifactId>maven-compiler-plugin</artifactId>
  42. <version>3.1</version>
  43. <configuration>
  44. <source>${java.version}</source>
  45. <target>${java.version}</target>
  46. <encoding>${project.build.sourceEncoding}</encoding>
  47. </configuration>
  48. </plugin>
  49. </plugins>
  50. </build>
  51. <!--设定从阿里云下载依赖-->
  52. <repositories>
  53. <repository>
  54. <id>public</id>
  55. <name>aliyun nexus</name>
  56. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  57. <releases>
  58. <enabled>true</enabled>
  59. </releases>
  60. </repository>
  61. </repositories>
  62. <pluginRepositories>
  63. <pluginRepository>
  64. <id>public</id>
  65. <name>aliyun nexus</name>
  66. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  67. <releases>
  68. <enabled>true</enabled>
  69. </releases>
  70. <snapshots>
  71. <enabled>false</enabled>
  72. </snapshots>
  73. </pluginRepository>
  74. </pluginRepositories>
  75. </project>

image.png

2.修改mis-web的pom.xml

(1)添加打包方式为jar
jar
(2)添加SpringBoot web组件依赖
(3)添加插件 spring-boot-maven-plugin

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <!--项目父模块-->
  6. <parent>
  7. <artifactId>misp</artifactId>
  8. <groupId>edu.scau</groupId>
  9. <version>1.0</version>
  10. </parent>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>mis-web</artifactId>
  13. <packaging>jar</packaging>
  14. <dependencies>
  15. <!-- SpringBoot Web容器, 注意不需要设定版本号 -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. </dependencies>
  21. <build>
  22. <plugins>
  23. <plugin>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-maven-plugin</artifactId>
  26. <version>2.1.1.RELEASE</version>
  27. <configuration>
  28. <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
  29. </configuration>
  30. <executions>
  31. <execution>
  32. <goals>
  33. <goal>repackage</goal>
  34. </goals>
  35. </execution>
  36. </executions>
  37. </plugin>
  38. <plugin>
  39. <groupId>org.apache.maven.plugins</groupId>
  40. <artifactId>maven-war-plugin</artifactId>
  41. <version>3.1.0</version>
  42. <configuration>
  43. <failOnMissingWebXml>false</failOnMissingWebXml>
  44. <warName>${project.artifactId}</warName>
  45. </configuration>
  46. </plugin>
  47. </plugins>
  48. <finalName>${project.artifactId}</finalName>
  49. </build>
  50. </project>

image.png

3.检查依赖库

image.png

4.设置SpringBoot配置文件

在mis-web下src/mian/resource下添加application.yml文件,设定服务器端口号为8080
image.png

5.添加SpringBoot主程序

在src/main/java下添加包edu.scau.mis
添加类MisApplication,编写代码如下

  1. package edu.scau.mis;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class MisApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(MisApplication.class, args);
  8. System.out.println("MIS开发平台启动成功");
  9. }
  10. }

image.png
运行MisApplication
image.png
SpringBoot多模块搭建运行成功。

五、编写测试Controller

1.编写IndexController

在mis-web模块src/main/java/下创建包edu.scau.mis.web.controller.lab
新建类 IndexController代码如下

  1. package edu.scau.mis.web.controller.lab;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. @RestController
  6. @RequestMapping("/lab")
  7. public class IndexController {
  8. @GetMapping("/index")
  9. public String index(){
  10. return "Hello SpringBoot";
  11. }
  12. }

image.png

2.注解说明

@RestController标记该类为Rest接口,该注解后端返回为json格式。
@RequestMapping(“/lab”) 设定接口请求地址路径,即http://localhost:8080/lab
@GetMapping(“/index”) 注解方法,该接口请求方法为get,路径为http://localhost:8080/lab/index

3.访问接口

运行MisApplication
在Chrome浏览器中输入http://localhost:8080/lab/index
image.png

六、实验感想

  1. 这次是第一次接触mavenspringboot的模块项目构建,跟着邓老师的步骤一步步完成,总得接触下来还是比较顺利。之前接触的比较多的是eclipsevs code,感觉ideavs code的风格和布局很相似,但是仍然有很多地方我找不到,窗口位置也不习惯,今后需要重新适应并熟练使用idea的开发软件。<br /> 在构建项目的过程中,有许多拓展的内容想深入了解,随即在网络上搜寻学习资料,下面放出几个我觉得比较有收藏性的网址和图片供后面学习使用。<br />①[https://lixuekai.blog.csdn.net/article/details/69226949?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link](https://lixuekai.blog.csdn.net/article/details/69226949?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link)<br />② [https://blog.csdn.net/weixin_43819847/article/details/94428845](https://blog.csdn.net/weixin_43819847/article/details/94428845)<br />③(图片较大文字较多,需要点开放大看)<br />![20201009092104512.png](https://cdn.nlark.com/yuque/0/2021/png/22716353/1631951449536-9a08dcdf-7417-4372-87fb-b203f81f9bf2.png#clientId=u0605bdaa-8548-4&from=drop&height=1634&id=ua71d2d95&margin=%5Bobject%20Object%5D&name=20201009092104512.png&originHeight=4921&originWidth=2012&originalType=binary&ratio=1&size=703103&status=done&style=none&taskId=u342e5a8c-98bf-4574-8491-0faa7dd4d88&width=668.0000610351562)