构建工具:IDEA 2019.3.1

Spring Initializr

Create New Project —>
Spring Initializer
Service URL 选择 Default: https://start.spring.io —>
Type: Maven Project —>
依赖这里添加 Web->Spring Web 与 Developer Tools->Spring Boot DevTools —>
Finish

初始结构

image.png

src/main/java:程序开发以及主程序入口;
src/main/resources:配置文件;
scr/test/java:测试程序;

Spring Boot 建议目录结构

image.png

Application.java 项目的启动类,Spring Boot 项目只能有一个 main()方法;
comm/ 目录建议放置公共的类,如全局的配置文件,工具类等;
model/ 目录主要用于实体(Entity)与数据访问层(Repository);
respository/ 主要是数据库访问层代码;
service/ 主要是业务类代码;
web/ 负责页面访问控制;

resources 目录下:
static 目录存放 web 访问的静态资源,如 js,css,图片等;
templates 目录存放页面模板;
application.properties 存放项目的配置信息;

test 目录存放单元测试代码;

pom.xml 用于配置项目依赖包,以及其他配置。

采用默认配置可以省去很多设置,也可以根据公司的规范进行修改。

pom.xml 介绍

一般分为以下四个部分

项目的描述信息

  1. <!--项目包路径-->
  2. <groupId>com.ylq</groupId>
  3. <!--项目名称-->
  4. <artifactId>demo</artifactId>
  5. <!--项目版本号-->
  6. <version>0.0.1-SNAPSHOT</version>
  7. <!--使用 Maven 打包时构建成 Jar 包还是 War 包-->
  8. <packaging>jar</packaging>
  9. <!--项目名称-->
  10. <name>demo</name>
  11. <!--项目描述-->
  12. <description>Demo project for Spring Boot</description>

构建时需要的公共变量

<properties>
  <!--构建项目时使用的编码-->
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <!--输出所使用的编码-->
  <project.reporting.outputEncoding>UFT-8</project.reporting.outputEncoding>
  <!--指定项目使用的 JDK 版本-->
  <java.version>1.8</java.version>
</properties>

依赖配置信息

<!--
parent 标签内配置 Spring Boot 父级版本 spring-boot-starter-parent
Maven 支持项目的父子结构,引入父级后会默认继承父级的配置
-->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.2.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<!--
dependencies 标签内配置项目所需要的依赖包,
Spring Boot 体系内的依赖组件不需要填写具体版本号,
spring-boot-starter-parent 维护了体系内所有依赖包的版本信息
-->
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
      <exclusion>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
</dependencies>

构建配置

<!--
使用 Maven 构建 Spring Boot 项目必须依赖于 spring-boot-maven-plugin 组件,
spring-boot-maven-plugin 能够以 Maven 的方式为应用提供 Spring Boot 的支持,
即为 Spring Boot 应用提供了执行 Maven 操作的可能。
spring-boot-maven-plugin 能够将 Spring Boot 应用打包为可执行的 jar 或 war 文件,
然后以简单的方式运行 Spring Boot 应用。
-->
<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>