springboot目錄結構、重要配置文件、重要註解的詳解
- 2021 年 12 月 26 日
- 筆記
前面2篇部落格已經帶著大家搭建了springboot項目,並編寫了持久化介面部署到tomcat下訪問。這裡我們一起補充下springboot的基本資訊
一.springboot簡單介紹
springboot是目前流行的微服務框架,倡導「約定優於配置」,簡化spring項目搭建及開發過程。springboot提供了很多核心的功能,比如自動化配置、starter簡化maven配置、內嵌servlet容器、應用監控等功能。穩定的版本後綴帶RELEASE。
二.工程目錄介紹
1./src/main/java:目錄下放置所有的java文件(源程式碼)
2./src/main/resource:存放資源文件、如靜態資源文件、配置文件、頁面文件等
3./src/main/resource/static:存放靜態資源
4./src/mian/resource/application.properties:配置文件,springboot支援.properties和.yml文件
5./src/main/resources/templates:存放模板文件如thymeleaf模板文件
6./src/test/java:單元測試類java文件
7./target:放置編譯後的.class文件、配置文件等
注意:.properties的文件優先順序高於.yml文件。
三.入口類
入口類的名稱是根據項目的名稱生成的,項目名稱+application
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:是個組合註解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,簡化項目啟動。
四.pom.xml文件
springboot項目下的pom.xml主要是存放依賴資訊
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="//maven.apache.org/POM/4.0.0" xmlns:xsi="//www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="//maven.apache.org/POM/4.0.0 //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.1.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.louis.springboot</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> <!-- web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!-- jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-core</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <!-- 打包時拷貝MyBatis的映射文件 --> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/sqlmap/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> <filtering>true</filtering> </resource> </resources> </build> </project>
1.spring-boot-starter-parent是個特殊的starter,用來提供相關的maven默認依賴,使用它之後,常用的包依賴可以省去version標籤。
2.spring-boot-starter-web:得到常用的web依賴包,比如spring-web、spring-webmvc等
3.spring-boot-starter-test:自動引入與測試相關的包
4.spring-boot-maven-plugin:這是個maven插件,能夠以maven的方式為應用提供springboot的支援,即為springboot應用提供了執行maven操作的可能。能夠將springboot應用打包為可執行的jar或者war文件