簡單了解Spring Bean常用注解的裝配
這篇文章主要介紹了簡單了解Spring Bean常用注解的裝配,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
基于注解的裝配
在Spring框架中,盡管使用XML配置文件可以很簡單地裝配Bean,但如果應(yīng)用中有大量的Bean需要裝配,會(huì)導(dǎo)致XML配置文件過于龐大,不方便以后的升級與維護(hù),因此更多的時(shí)候推薦開發(fā)者使用注解(annotation)的方式去裝配Bean。
在Spring框架中定義了一系列的注解,下面介紹集中常用的注解。
@Component
該注解是一個(gè)泛化的概念,僅僅表示一個(gè)組件對象(Bean),可以作用在任何層次上。
@Repository
該注解用于將數(shù)據(jù)訪問層(DAO)的類標(biāo)識(shí)為Bean,即注解數(shù)據(jù)訪問層Bean,其功能與@Component相同。
@Service
該注解用于標(biāo)注一個(gè)業(yè)務(wù)邏輯組件類(Service層),其功能與@Component相同。
@Controller
該注解用于標(biāo)注一個(gè)控制器組件類(Spring MVC的Controller),其功能與@Component相同。
@Autowired
該注解可以對類成員變量、方法及構(gòu)造方法進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。通過使用@Autowired來消除setter和getter方法。默認(rèn)按照Bean的類型進(jìn)行裝配。
@Resource
該注解與@Autowired的功能一樣,區(qū)別在于該注解默認(rèn)是按照名稱來裝配注入的,只有當(dāng)找不到與名稱匹配的Bean時(shí)才會(huì)按照類型來裝配注入;而@Autowired默認(rèn)按照Bean的類型進(jìn)行裝配,如果想按照名稱來裝配注入,則需要和@Qualifier注解一起使用。
@Qualifier
該注解與@Aitowired注解配合使用。當(dāng)@Autowired注解需要按照名稱來裝配注入時(shí)需要和該注解一起使用,Bean的實(shí)例名稱由@Qualifier注解的參數(shù)制定。
在上面幾個(gè)注解中,雖然@Repository、@Service和@Controller等注解的功能與@Component注解相同,但為了使類的標(biāo)注更加清晰(層次化),在實(shí)際開發(fā)中推薦使用@Repository標(biāo)注數(shù)據(jù)訪問層(DAO層)、使用@Service標(biāo)注業(yè)務(wù)邏輯層(Service層)、使用@Controller標(biāo)注控制器層(控制層)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java?11新特性HttpClient主要組件及發(fā)送請求示例詳解
這篇文章主要為大家介紹了java?11新特性HttpClient主要組件及發(fā)送請求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
詳解java中的PropertyChangeSupport與PropertyChangeListener
這篇文章主要介紹了詳解java中的PropertyChangeSupport與PropertyChangeListener的相關(guān)資料,需要的朋友可以參考下2017-09-09
java調(diào)用Oracle存儲(chǔ)過程的方法實(shí)例
這篇文章介紹了java調(diào)用Oracle存儲(chǔ)過程的方法實(shí)例,有需要的朋友可以參考一下2013-09-09
Java多線程編程之CountDownLatch同步工具使用實(shí)例
這篇文章主要介紹了Java多線程編程之CountDownLatch同步工具使用實(shí)例,需要的朋友可以參考下2015-05-05
一文告訴你為什么要重寫hashCode()方法和equals()方法
本篇文章帶大家了解一下為什么重寫hashCode()方法和equals()方法,文中有非常詳細(xì)的說明以及代碼示例,對正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
Java數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)與面試題匯總
由于順序表的插入刪除操作需要移動(dòng)大量的元素,影響了運(yùn)行效率,因此引入了線性表的鏈?zhǔn)酱鎯?chǔ)——單鏈表。本文為大家介紹了單鏈表的實(shí)現(xiàn)與面試題匯總,感興趣的可以了解一下2022-10-10
idea常用的18個(gè)設(shè)置(程序員必不可少)
這篇文章主要給大家介紹了關(guān)于idea常用的18個(gè)設(shè)置,這些對程序員們來說必不可少,idea開發(fā)常用基本且非常實(shí)用的配置,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08

