1. 程式人生 > >@Repository,@Service和@Controller的區別

@Repository,@Service和@Controller的區別

       這三個沒什麼功能上的差別,差別只是在語義上,@Repository/@Service/@Controller分別代表了特定語義的類,這個有點類似於HTML 5提出的語義化標籤,你說HTML 5裡面的“header”和“div”有什麼差別呢,其實功能上來說沒有,只是語義表達的更清楚。

      @Repository:用於標註資料訪問元件,即DAO元件我們註解這個類,更多的是對它有個資料庫操作的管理,比如你繼承了spring自己的hibernateDAo這樣的東西,那怎麼給你注入一些資料庫操作的元素了,就靠它了,所以這個不是隨便註釋的。DAO,一般用@Repository,它這一層是資料的入口和出口,對資料庫最基本的操作,有時候我們註解這個類,更多的是對它有個資料庫操作的管理,比如你繼承了spring自己的hibernateDAo這樣的東西,那怎麼給你注入一些資料庫操作的元素了,就靠它了,所以這個不是隨便註釋的。
      @Service:用於業務層
      @Controller:控制層(Web 層)