這篇文章帶給大家的內容是關於Spring Boot主類和目錄結構的簡單介紹(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Spring Boot 與傳統專案最大的區別是,傳統專案都是打成WAR 套件部署到伺服器上面,需要額外的Servlet 容器, 而Spring Boot 則可以直接打成jar 包,並內建整合了Servlet 容器,透過命令java -jar xx.jar 則可以直接運行,不需要獨立的Servlet 容器。
打成可執行 jar 套件後,我們來看下其中的 META-INF/MANIFEST.MF 檔案。
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: admin Start-Class: cn.javastack.MyApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Version: 2.0.4.RELEASE Created-By: Apache Maven 3.5.0 Build-Jdk: 1.8.0_151 Main-Class: org.springframework.boot.loader.JarLauncher
其中有一個Start-Class 便是這個jar 包的入口類,這個入口類推薦是放在一個項目的頂層包中,其他所有的類都放在其子包下面,目錄結構如以下所示。
cn +- javastack +- MyApplication.java | +- customer | +- Customer.java | +- CustomerController.java | +- CustomerService.java | +- CustomerRepository.java | +- order +- Order.java +- OrderController.java +- OrderService.java +- OrderRepository.java
這個目錄結構是主流及推薦的做法,而在主入口類別上加上 @SpringBootApplication 註解來開啟 Spring Boot 的各項能力,如自動設定、元件掃描等。
package cn.javastack.MyApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
如果你不想這麼做,你也可以充分利用 @EnableAutoConfiguration 和 @ComponentScan 註解自訂你的行為,不過這不是建議的做法。
#以上是Spring Boot主類別和目錄結構的簡單介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!