@元件:@Controller@Repository@Service
都是用來定義Bean的
Bean
@Component是最通用的
@Component
@Service,@Repository也是@Service,@Repository也是@Component,只不過賦予了不同的語義,便於代碼閱讀,其實這三個隨便用也無所謂,Spring不會報錯。
@Service
@Repository
@Controller特殊,專門被Spring MVC處理,不能替換為另外三個。
@Controller
@Service用於標註業務層元件
@Controller用於標註控制層組件(spring中的controller)
@Repository用於標註資料存取元件,即DAO元件
@Component泛指元件,當元件不好歸類的時候,我們可以使用這個註解來標註
@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明確的地方。
只是語意上不同,作用都是一樣
效果都是一樣的**
這四個註解對機器來說運作效果一樣。只有語意上的差別,告訴看程式碼的人這個類別是哪個層次的元件
都是用來定義
Bean
的@Component
是最通用的@Service
,@Repository
也是@Service
,@Repository
也是@Component
,只不過賦予了不同的語義,便於代碼閱讀,其實這三個隨便用也無所謂,Spring不會報錯。@Controller
特殊,專門被Spring MVC處理,不能替換為另外三個。@Service用於標註業務層元件
@Controller用於標註控制層組件(spring中的controller)
@Repository用於標註資料存取元件,即DAO元件
@Component泛指元件,當元件不好歸類的時候,我們可以使用這個註解來標註
@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明確的地方。
只是語意上不同,作用都是一樣
效果都是一樣的**
這四個註解對機器來說運作效果一樣。只有語意上的差別,告訴看程式碼的人這個類別是哪個層次的元件