文章詳情頁
java中這四個注解有什么區別啊?項目中怎么都是混用?
瀏覽:79日期:2023-12-14 11:07:35
問題描述
@Component:@Controller@Repository@Service
問題解答
回答1:都是用來定義Bean的
@Component是最通用的
@Service,@Repository也是@Component,只不過賦予了不同的語義,便于代碼閱讀,其實這三個隨便用也無所謂,Spring不會報錯。
@Controller特殊,專門被Spring MVC處理,不能替換為另外三個。
回答2:@Service用于標注業務層組件
@Controller用于標注控制層組件(spring中的controller)
@Repository用于標注數據訪問組件,即DAO組件
@Component泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注
回答3:@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明確的地方。
回答4:只是語意上不同,作用都是一樣
回答5:效果都是一樣的**
回答6:這四個注解對機器來說運行效果一樣。只有語義上的區別,告訴看代碼的人這個類是哪個層面的組件
標簽:
java
相關文章:
1. python - 我已經連上了美國的VPN,而且在瀏覽器里查看的game排行也是美國的,可是為啥我用代碼怎么爬都是中國地區排行2. python - Django前臺url未能正確訪問方法求助?3. python - 請問matplotlib.pyplot.save的路徑如何更改4. mysql - 我用SQL語句 更新 行的時候,發現全部 中文都被清空了,請問怎么解決?5. python把第x列數據寫入第x個文件6. python小白,問一個關于可變類型和不可變類型底層的問題7. javascript - js 對中文進行MD5加密和python結果不一樣。8. 數據庫 - mysql boolean型無法插入true9. mysql - SQL問個基礎例子,書上的,我怎么看都看不懂..誰幫我解釋一下第2個為什么和第1個一樣?10. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?
排行榜
