springBoot作爲一個輕量級的java開發框架,在許多的方面提出了相應的解決方案。
一般來說基於springBoot的項目基本分爲以下幾個層次(在項目文件夾中體現爲一個層次對應一個package)
- Dao層(mapper層)
- service層(業務層)
- model層(entity層)
- controller層(控制層)
各層的作用
Dao 層
即數據持久層,對數據做持久化操作。也被稱爲mapper層。dao層的作用爲訪問數據庫,向數據庫發送sql語句,完成數據的增刪改查任務。
Service 層
業務層,service層的作用爲完成功能設計。存放業務邏輯處理,不直接對數據庫進行操作,有接口和接口實現類,提供controller層調用的方法。調用dao層接口,接收dao層返回的數據,完成項目的基本功能設計。(也就是說對於項目中的功能的需求就是在這裏完成的)
Model 層
即數據庫實體層,也被稱爲entity層,pojo層,存放的是實體類,屬性值與數據庫中的屬性值保持一致。 實現set和get方法。
一般數據庫一張表對應一個實體類,類屬性同表字段一一對應
Controller層
控制器層,controller層的功能爲請求和響應控制。controller層負責前後端交互,接受前端請求,調用service層,接收service層返回的數據,最後返回具體的頁面和數據到客戶端。
因此對於一個Web項目,從發起請求到給與響應的流程是這樣的: