對 Spring MVC 的一些錯誤理解
阿新 • • 發佈:2018-12-23
用過 Spring MVC 開發過一些專案。覺得它很好用,層次清楚,一旦搭建好框架,使用起來十分簡單。
但是,由於沒有經過系統的學習和牛人指點,對 Spring MVC 的理解還有很多錯誤。
Service 層和 DAO 層
我之前圖簡單,沒有理解 Service 層和 DAO 層各是幹什麼用的。直接在 DAO 上做了一個簡單的封裝就是 Service 了。
實際上不是這樣。
Service 層可以用來處理一些複雜的業務邏輯。比如,Controller 收集一些表單資訊之後,可能要經過一些複雜的業務邏輯轉換。比如根據欄位生成新的物件。這些業務邏輯可以放在 Service 層面。
使用正確的標註約定
@Repository 比較適合用在 Dao 物件上。它還可以把 Unchecked Exceptions 轉成 Spring DataAccessException。 – 我以前把 @Service 用在 Dao 物件上,純屬不理解。
@Service 比較適合放在 Service 物件上。儘管它目前和 @Component 物件沒有什麼區別
@Controller, 用於 Controller,可以和 @RequestMapping 一起用
@Autowired 和 @Resource
據說儘量不要用 @Autowired,而要用 @Resource。可以根據 name 來進行 Injection,很方便。