1. 程式人生 > 其它 >java目錄下的描述

java目錄下的描述

config目錄:該目錄用於存放一些配置類,配置類用註解@Configuration標識。
filter目錄:用於存放自定義的過濾器類,過濾掉一些錯誤的請求和未登入使用者,也可以修改請求和相應的內容;過濾器一般實現Filter介面並且會用註解@WebFilter標識。
interceptor目錄:用於存放攔截器類,作用是對正在執行的流程進行干預,在某個方法被訪問之前,進行攔截,然後在之前或之後加入某些操作,攔截器是AOP 的一種實現策略;攔截器一般實現HandlerInterceptor介面重寫preHandle、postHandle、afterCompletion這三個方法,然後可以在這三個方法里加入一些日誌用於記錄某些方法的呼叫資訊。
controller目錄:用於存放控制器類,控制器類也就是MVC中的“C”負責請求的接收和處理和JavaWeb中的servlet功能類似,類上常用註解@RequestMapping("/url")指定請求訪問的路徑,用@Controller標識該類是一個控制器類。
service目錄:用於存放處理具體業務邏輯的類,通常對資料庫事務控制也放在這一層;常用註解@Service標識,用註解@Transactional達到事務控制的目的
mapper目錄:存放操作資料庫的介面,封裝對資料庫的訪問:增刪改查,不涉及業務邏輯,只是達到按某個條件獲得指定資料的要求。
pojo(或entity)目錄:用於存放實體類,注意:我這裡只是將具有VO、DTO、DO、PO性質的實體類都統一放在pojo目錄下。
utils目錄:存放一些三方工具類的,例如:Json轉換、雪花演算法生成這些類。
exception目錄:用於存放自定義業務異常類和全域性異常處理類。
resources目錄下的:

mapper目錄:用於存放mybatis操作資料庫的xml檔案的,xml檔案中寫具體操作資料庫資料的sql,注意:如果是用的mybatis-plus或者JPA封裝好的方法操作資料庫則可以不用寫xml檔案。
public目錄:用於存放靜態資原始檔(圖片、js、css等等)或者html檔案。
static目錄:作用同public目錄,只不過springboot預設的靜態資源訪問路徑是:META-INF/resources > resources > static > public (訪問優先順序也是如此)。
templates目錄:用於存放thymeleaf模板。

一般配置檔案會將線上環境、測試環境和開發環境配置的公共部分抽到application.yml裡,然後將部分不同的配置(例如線上和測試用的資料庫連線不一樣)會分別放入用類似“-環境字首”的yml檔案裡,我這裡就是“-dev”(開發環境)和“-prod”(線上環境),一般在公司還會有個“-test”(測試環境)。

最後是編寫最重要的Application啟動類,啟動類需要和config、controller這些目錄同級

各個目錄下類的具體程式碼

整體結構預覽: