SpringBoot 是一个基于 Spring 的、用于开发 javaweb 应用的开发框架,与 SpringMVC 类似。
它的好处就是简化开发、约定大于配置(即走默认的方式,不要没完没了地配置东西),直接按默认的方式去搭建项目,能快速开发出 web 应用。
Spring Boot的官方网站,提供了快速开始的方式,即在网站上新建好一个 Spring Boot项目,将项目的 zip 包导出下载下来,解压后,再导入到编辑器中,完成一个快速开始。
上面这个方式,在实际开发中,十之八九不会使用,因为我们更多地是直接使用 IDEA 来创建。
截止目前,Spring Boot 的最新版本是 2.7.1 ,因此下面用最新版的 Spring Boot 框架,快速搭建一个入门项目。
2. 新建SpringBoot项目开发环境
- JDK 1.8
- Maven 3.6.3
- IDEA
- Spring Boot 2.7.1
使用 IDEA 搭建项目
打开 IDEA,然后 File——>New——>Project,打开下面的这个弹窗,然后选择 Spring Initializr,配置好 JDK 版本,剩下的,走默认,然后 next 即可(这里要注意,网速要好,由于神秘力量的存在,网络不好,可能会报失败或者很慢,多试几次),接下来就是输入项目的一些 maven 坐标、项目名称等内容,按自己的喜欢来就好,直到 finish 。
待项目搭建完成后,我们对它进行改造,将它的里面的 .mvn目录,src目录,mvnw文件、mvnw.cmd文件和HELP.md文件,都删除,将它作为一个父项目,不在里面写任何代码。
结束上面的操作后,接着在父项目的名称上,鼠标点击右键,新建一个 module ,后面的步骤也是像之前一样,注意改好 module 名称,不要和父项目重名,一直到完成。
接下来,需要将 module 和父项目关联起来。在 父 pom.xml 文件中,增加 module 标签,将 module 绑定到 父项目;然后在 module 项目的 pom.xml 中,将 parent 标签中的内容,改为父项目的,完成二者的关联。
下面是根据前面的描述,利用 IDEA 创建出来的一个 SpringBoot 多模块项目(可下载参考学习),后续的演示,都在此基础上进行。
下面给出几个 pom.xml 文件的具体内容。
- 父 pom.xml 文件
4.0.0 pom org.springframework.boot spring-boot-starter-parent 2.7.1 com.yuhuofei springboot-study 0.0.1-SNAPSHOT springboot-study Study project for Spring Boot 1.8 hello-world config-demo org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
- hello-world 模块的 pom.xml 文件
4.0.0 com.yuhuofei springboot-study 0.0.1-SNAPSHOT com.yuhuofei hello-world 0.0.1-SNAPSHOT hello-world Study project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
- config-demo 模块的 pom.xml 文件
4.0.0 com.yuhuofei springboot-study 0.0.1-SNAPSHOT com.yuhuofei config-demo 0.0.1-SNAPSHOT config-demo Study project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
一个规范的 springboot 项目的目录结构
以上面的 hello-world 模块为例,增加开发中用到的一些包名,整体如下所示
最主要的还是 controller 、service、mapper、entity 这几个。



