1. 程式人生 > >對 Spring MVC 的一些錯誤理解

對 Spring MVC 的一些錯誤理解

用過 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,很方便。