Spring Boot 項目結構介紹


項目結構介紹

avatar

如上圖所示,Spring Boot 的基礎結構共三個文件,具體如下:

  • src/main/java:程序開發以及主程序入口;
  • src/main/resources:配置文件;
  • src/test/java:測試程序。

另外,Spring Boot 建議的目錄結構如下。

com.example.myproject 目錄下:

myproject
 +-src
    +- main
         +- java
              +- com.example.myproject
                    +- comm
                    +- model
                    +- repository
                    +- service
                    +- web
                    +- Application.java
         +- resources
              +- static
              +- templates
              +- application.properties
    +- test
 +-pom.xml

com.example.myproject 目錄下:

  • Application.java,建議放到根目錄下面,是項目的啟動類,Spring Boot 項目只能有一個 main() 方法;
  • comm 目錄建議放置公共的類,如全局的配置文件、工具類等;
  • model 目錄主要用於實體(Entity)與數據訪問層(Repository);
  • repository 層主要是數據庫訪問層代碼;
  • service 層主要是業務類代碼;
  • web 層負責頁面訪問控制。

resources 目錄下:

  • static 目錄存放 web 訪問的靜態資源,如 js、css、圖片等;
  • templates 目錄存放頁面模板;
  • application.properties 存放項目的配置信息。

test 目錄存放單元測試的代碼;pom.xml 用於配置項目依賴包,以及其他配置。

采用默認配置可以省去很多設置,也可以根據公司的規范進行修改,至此一個 Java 項目搭建好了!

Pom 包介紹

pom.xml 文件主要描述了項目包的依賴和項目構建時的配置,在默認的 pom.xml 包中分為四大塊。

第一部分為項目的描述信息:

<groupId>com.neo</groupId>
<artifactId>hello</artifactId>
<version>2.0.5.RELEASE</version>
<packaging>jar</packaging>

<name>hello</name>
<description>Demo project for Spring Boot</description>
  • groupId,項目的包路徑;
  • artifactId,項目名稱;
  • version,項目版本號;
  • packaging,一般有兩個值:jar、war,表示使用 Maven 打包時構建成 Jar 包還是 War 包;
  • name,項目名稱;
  • description,項目描述。

第二部分為項目的依賴配置信息:

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.5.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</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>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>
</dependencies>
  • parent,標簽內配置 Spring Boot 父級版本 spring-boot-starter-parent,Maven 支持項目的父子結構,引入父級后會默認繼承父級的配置;
  • dependencies,標簽內配置項目所需要的依賴包,Spring Boot 體系內的依賴組件不需要填寫具體版本號,spring-boot-starter-parent 維護了體系內所有依賴包的版本信息。
  • <scope>test</scope>,表示依賴的組件僅僅參與測試相關的工作,包括測試代碼的編譯和執行,不會被打包包含進去;
  • spring-boot-starter-test 是 Spring Boot 提供項目測試的工具包,內置了多種測試工具,方便我們在項目中做單元測試、集成測試。

第三部分為構建時需要的公共變量:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
</properties>

上面配置了項目構建時所使用的編碼,輸出所使用的編碼,最后指定了項目使用的 JDK 版本。

第四部分為構建配置:

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

使用 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 應用。

以上即為 pom.xml 文件基礎內容,幾乎所有的 Spring Boot 項目都會用到以上配置信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM