簡(jiǎn)單了解Spring Bean常用注解的裝配
這篇文章主要介紹了簡(jiǎn)單了解Spring Bean常用注解的裝配,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
基于注解的裝配
在Spring框架中,盡管使用XML配置文件可以很簡(jiǎn)單地裝配Bean,但如果應(yīng)用中有大量的Bean需要裝配,會(huì)導(dǎo)致XML配置文件過(guò)于龐大,不方便以后的升級(jí)與維護(hù),因此更多的時(shí)候推薦開(kāi)發(fā)者使用注解(annotation)的方式去裝配Bean。
在Spring框架中定義了一系列的注解,下面介紹集中常用的注解。
@Component
該注解是一個(gè)泛化的概念,僅僅表示一個(gè)組件對(duì)象(Bean),可以作用在任何層次上。
@Repository
該注解用于將數(shù)據(jù)訪問(wèn)層(DAO)的類標(biāo)識(shí)為Bean,即注解數(shù)據(jù)訪問(wèn)層Bean,其功能與@Component相同。
@Service
該注解用于標(biāo)注一個(gè)業(yè)務(wù)邏輯組件類(Service層),其功能與@Component相同。
@Controller
該注解用于標(biāo)注一個(gè)控制器組件類(Spring MVC的Controller),其功能與@Component相同。
@Autowired
該注解可以對(duì)類成員變量、方法及構(gòu)造方法進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。通過(guò)使用@Autowired來(lái)消除setter和getter方法。默認(rèn)按照Bean的類型進(jìn)行裝配。
@Resource
該注解與@Autowired的功能一樣,區(qū)別在于該注解默認(rèn)是按照名稱來(lái)裝配注入的,只有當(dāng)找不到與名稱匹配的Bean時(shí)才會(huì)按照類型來(lái)裝配注入;而@Autowired默認(rèn)按照Bean的類型進(jìn)行裝配,如果想按照名稱來(lái)裝配注入,則需要和@Qualifier注解一起使用。
@Qualifier
該注解與@Aitowired注解配合使用。當(dāng)@Autowired注解需要按照名稱來(lái)裝配注入時(shí)需要和該注解一起使用,Bean的實(shí)例名稱由@Qualifier注解的參數(shù)制定。
在上面幾個(gè)注解中,雖然@Repository、@Service和@Controller等注解的功能與@Component注解相同,但為了使類的標(biāo)注更加清晰(層次化),在實(shí)際開(kāi)發(fā)中推薦使用@Repository標(biāo)注數(shù)據(jù)訪問(wèn)層(DAO層)、使用@Service標(biāo)注業(yè)務(wù)邏輯層(Service層)、使用@Controller標(biāo)注控制器層(控制層)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java面試題之HashMap 的 hash 方法原理是什么
那天,小二去蔚來(lái)面試,面試官老王一上來(lái)就問(wèn)他:HashMap 的 hash 方法的原理是什么?當(dāng)時(shí)就把裸面的小二給蚌埠住了,這篇文章將詳細(xì)解答該題目2021-11-11java后端pageHelper分頁(yè)實(shí)現(xiàn)方法步驟
這篇文章主要給大家介紹了關(guān)于java后端pageHelper分頁(yè)實(shí)現(xiàn)方法的相關(guān)資料,在我們的Java項(xiàng)目中分頁(yè)是必不可少的數(shù)據(jù)展示頁(yè)面,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07Java實(shí)現(xiàn)對(duì)象列表導(dǎo)出為excel表格的實(shí)用工具類
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)對(duì)象列表導(dǎo)出為excel表格的實(shí)用工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12使用Spring?Boot如何限制在一分鐘內(nèi)某個(gè)IP只能訪問(wèn)10次
有些時(shí)候,為了防止我們上線的網(wǎng)站被攻擊,或者被刷取流量,我們會(huì)對(duì)某一個(gè)ip進(jìn)行限制處理,這篇文章,我們將通過(guò)Spring?Boot編寫(xiě)一個(gè)小案例,來(lái)實(shí)現(xiàn)在一分鐘內(nèi)同一個(gè)IP只能訪問(wèn)10次,感興趣的朋友一起看看吧2023-10-10Spring Boot中Bean定義方調(diào)用方式解析
這篇文章主要介紹了Spring Boot中Bean定義方調(diào)用方式解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07spring boot aop 記錄方法執(zhí)行時(shí)間代碼示例
這篇文章主要介紹了spring boot aop 記錄方法執(zhí)行時(shí)間代碼示例,分享了相關(guān)代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02