目录
上一讲我们用官网包或者 IDE 工具,快速构建了 Spring Boot 应用,并且看到了第一个程序的运行结果: Hello World!
本文我们了解下 Spring Boot 的目录结构,了解一个事物,清楚了它的结构,明白了内部元素各自的职责,就能很好的认识到它的组织方式和运行机制。
我们以 IntelliJ IDEA 这个 IDE 生成的 Spring Boot 应用为例,详细地看一下应用里边都有哪些东西。
下图是在上一讲中我们用 IntelliJ IDEA 生成的 Spring Boot 应用,详情戳:五分钟快速构建第一个 Spring Boot 应用。
乍一看,内容是挺多。不过上边不全是 Spring Boot 本身的文件,还包含了 IDE 生成的文件以及应用构建时生成的文件。
我们挨个来看吧。
course
course:Spring Boot 生成,应用的根文件目录,名称是在创建应用的时候初始化的。你创建的应用名叫 demo,那这个目录文件名就是 demo。
.idea
.idea:IntelliJ IDEA 生成,用于配置应用信息的文件目录。内部包含了类库,应用字符编码,模块,工作区等信息。
.mvn
.mvn:Spring Boot 生成,用于一键通过 Maven 构建、编译、打包和部署的文件目录。内部结构如下:
可以看到,该文件目录包含了 maven-wrapper.jar、maven-wrapper.properties 和 MavenWrapperDownloader.java 三个文件。另外和 .mvn 同层级的 mvnw 和 mvnw.cmd 两个文件,是执行 maven-wrapper.jar 的入口,mvnw 用于 Linux 或 macOS,mvnw.cmd 用于 Windows。
├── .mvn
│ └── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
│ └── MavenWrapperDownloader.java
├── mvnw
└── mvnw.cmd
那么为什么要用 wrapper,而不用原生的 maven 方式呢?以下这个图应该可以给你讲清楚!
我们发现和传统 maven 的使用方式相比, maven-wrapper 每次更