java中這四個(gè)注解有什么區(qū)別啊?項(xiàng)目中怎么都是混用?
問題描述
@Component:@Controller@Repository@Service
問題解答
回答1:都是用來定義Bean的
@Component是最通用的
@Service,@Repository也是@Component,只不過賦予了不同的語義,便于代碼閱讀,其實(shí)這三個(gè)隨便用也無所謂,Spring不會(huì)報(bào)錯(cuò)。
@Controller特殊,專門被Spring MVC處理,不能替換為另外三個(gè)。
回答2:@Service用于標(biāo)注業(yè)務(wù)層組件
@Controller用于標(biāo)注控制層組件(spring中的controller)
@Repository用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件
@Component泛指組件,當(dāng)組件不好歸類的時(shí)候,我們可以使用這個(gè)注解進(jìn)行標(biāo)注
回答3:@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明確的地方。
回答4:只是語意上不同,作用都是一樣
回答5:效果都是一樣的**
回答6:這四個(gè)注解對(duì)機(jī)器來說運(yùn)行效果一樣。只有語義上的區(qū)別,告訴看代碼的人這個(gè)類是哪個(gè)層面的組件
相關(guān)文章:
1. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題2. 如何解決Centos下Docker服務(wù)啟動(dòng)無響應(yīng),且輸入docker命令無響應(yīng)?3. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?4. css3 - 學(xué)習(xí)css構(gòu)建圖形時(shí),遇到一個(gè)很有意思的現(xiàn)象,具體代碼如下5. 極光推送 - Android app消息推送 百度 極光 個(gè)推 信鴿哪個(gè)好一些?6. javascript - js閉包作用域7. html5 - 百度echart官網(wǎng)下載的地圖json數(shù)據(jù)亂碼8. html - css 使用字體的時(shí)候,格式有什么特殊要求嗎?9. 微信開放平臺(tái) - android 微信支付后點(diǎn)完成按鈕,后回調(diào)打開第三方頁面,屏幕閃動(dòng),求解決方法10. javascript - echart+百度地圖
