Spring Boot文件目录介绍
前言
创建Spring Boot项目后,会产生一个工程目录,该工程目录存放了工程项目的各种文件,对于Spring Boot开发人员来说,了解该工程目非常必要。
--------来自于《Spring Boot微服务项目实战》该书所记录的笔记。
一、工程目录
说明如下:
- src\main\java:目录下放置所有的Java文件(源代码文件)。
- src\main\resources:用于存放所有的资源文件,包括静态文件、配置文件、页面文件等。
- src\main\resources\static:用于存放各类静态资源。
- src\main\resources\templates:用于存放模板文件。
- src\main\resources\application.properties:配置文件(Spring Boot默认支持两种配置文件类型:.properties和.yml)。
- src\test\java:放置单元测试类java代码。
- target\:放置编译后的.class文件和配置文件等。
Spring Boot会自动给配置文件设置默认值,在此之前会自动运用application.properties或application.yml中的配置,否则使用默认配置,这两种配置文件区别主要为书写格式不同,如下:
application.properties:
server.port = 8080
application.yml:
server:
port:8080
另外,application.yml不支持@PropertySource注解导入配置,.properties配置文件的优先级高于.yml。
二、入口类
入口类的代码如下:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication是一个项目启动组合注解,SpringApplication.run()是应用程序开始运行的方法。
入口类要放置在包的最外层,以便能够扫描到所有子包中的类。
三、测试类
测试类代码如下:
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Test
void contextLoads() {
}
}
三、pom文件
pom文件主要用来存放依赖信息:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- spring-boot-starter-parent:特殊的starter,提供相关的Maven默认依赖,可省略version。
- spring-boot-starter-web:获得相关的Web服务。
- spring-boot-starter-test:引入测试相关包。
- spring-boot-maven-plugin:打包为jar或war。