Spring Boot 參考指南(結構化你的代碼)

14. 結構化你的代碼

Spring Boot不須要任何特定的代碼佈局來工做,然而有一些最佳實踐能夠提供幫助。java

14.1 使用「default」包

當一個類不包含package聲明時,它被認爲是在「default package」中,使用「default package」一般是不鼓勵的,應該避免使用,它可能會致使使用@ComponentScan@EntityScan@SpringBootApplication註解的Spring Boot應用程序的特殊問題,由於每一個jar的每一個類都被讀取。spring

咱們建議你遵循Java推薦的包命名約定和使用反向域名(例如, com.example.project)。

14.2 定位主應用程序類

咱們一般建議你在其餘類之上的根包中定位主應用程序類,@SpringBootApplication註解一般放在主類上,它隱式地爲某些項定義了一個基本的「搜索包」。例如,若是你正在編寫一個JPA應用程序,則使用@SpringBootApplication註解類的包來搜索@Entity項,使用根包也容許組件掃描只應用於你的項目。segmentfault

若是你不想使用 @SpringBootApplication,那麼 @EnableAutoConfiguration@ComponentScan註解將定義該行爲,所以你也能夠使用它。

下面的清單展現了一個典型的佈局:app

com
 +- example
     +- myapplication
         +- Application.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java

Application.java文件將聲明main方法,以及基本的@SpringBootApplication,以下所示:佈局

package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication
public class Application {
   public static void main(String[] args) { 
      SpringApplication.run(Application.class, args);
   } 
}

上一篇:構建系統

下一篇:自動配置

相關文章
相關標籤/搜索