欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過@Resource注解實(shí)現(xiàn)屬性裝配代碼詳解

 更新時(shí)間:2018年01月10日 13:51:35   作者:別鬧了  
這篇文章主要介紹了通過@Resource注解實(shí)現(xiàn)屬性裝配代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文主要探究的問題時(shí)使用@Resource注解實(shí)現(xiàn)屬性裝配,當(dāng)中涉及依賴注入—手工裝配,@Autowired和@Resource注解的區(qū)別等相關(guān)內(nèi)容,具體如下。

使用Field注入(用于注解方式):注入依賴對(duì)象可以采用手工裝配或者手工自動(dòng)裝配。在實(shí)際應(yīng)用中建議使用手工裝配,因?yàn)樽詣?dòng)裝配會(huì)產(chǎn)生未知情況,開發(fā)人員無法預(yù)見最終的裝配結(jié)果。

依賴注入—手工裝配

手工裝配依賴對(duì)象,在這種方式中又有兩種編程方式。

1.在xml配置文件中,通過bean節(jié)點(diǎn)配置,如:

<bean id="orderService" class="cn.itcast.service.OrderServiceBean">
  //構(gòu)造器注入
  <constructor-arg index="0" type="java.lang.String" value="xxx"/>
  //屬setter方法注入
  <property name="name" value="zhao"/>
</bean>

2.在java代碼中使用@Autowired或者@Resource注解方式進(jìn)行裝配。但我們需要在xml配置文件中配置一下信息

<beans Xmlns="http://www.springframework.org/schema/beans"
       Xmlns="http://www.w3.org/2001/XMLSchema-instance"
       Xmlns:context="http://www.springframework.org/schema/context"
       Xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-2.5xsd">
</beans>

這個(gè)配置隱式注冊(cè)了多個(gè)對(duì)注釋進(jìn)行解析處理的處理器:

AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor

PersistenceAnnotationBeanProcessor,RequiredAnnotationBeanPostProcessor

3.區(qū)別

在java代碼中使用@Autowired或@Resource注解方式進(jìn)行裝配。這兩個(gè)注解的區(qū)別是@Autowired默認(rèn)按類型裝配@Resource默認(rèn)按名稱進(jìn)行裝配,當(dāng)找不到與名稱匹配的bean才會(huì)按類型裝配

@Autowired
private PersonDao personDao;//用于字段上
@Autowired
public void setOrderDao(OrderDao orderDao){
    this.orderDao = orderDao; //用于屬性的setter方法上   
}

@Autowired注解是按類型裝配依賴對(duì)象,默認(rèn)情況下它要求依賴對(duì)象必須存在,如果允許null值,可以設(shè)置它required屬性為false;如果我們想使用名稱裝配,可以結(jié)合@Qualfier注解一起使用,如下:

@Autowired@Qualifier("personDao")
private PersonDao personDao;

@Resource注解和@Autowired一樣,可以標(biāo)注在字段或者屬性的setter方法上,但它默認(rèn)按名稱裝配。名稱可以通過@Resource的name屬性指定;如果沒有指定name屬性,當(dāng)注解標(biāo)注在字段上,即默認(rèn)字段的名稱作為bean名稱尋找依賴對(duì)象;當(dāng)注解標(biāo)注在屬性setter方法上,即默認(rèn)取屬性名作為bean名稱尋找依賴對(duì)象

@Resource(name="personDaoBean")
private PersonDao personDao;

注:如果沒有指定name屬性,并且按照默認(rèn)的名稱仍找不到對(duì)象時(shí),@Resource注解會(huì)回退到按類型裝配。但一旦指定了name屬性,就只能按名稱裝配了。

總結(jié)

以上就是本文關(guān)于通過@Resource注解實(shí)現(xiàn)屬性裝配代碼詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Spring實(shí)例化bean的方式代碼詳解

Spring的實(shí)例工廠方法和靜態(tài)工廠方法實(shí)例代碼

Spring用代碼來讀取properties文件實(shí)例解析

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • JavaWeb開發(fā)使用Cookie創(chuàng)建-獲取-持久化、自動(dòng)登錄、購(gòu)物記錄、作用路徑

    JavaWeb開發(fā)使用Cookie創(chuàng)建-獲取-持久化、自動(dòng)登錄、購(gòu)物記錄、作用路徑

    這篇文章主要介紹了JavaWeb開發(fā)使用Cookie創(chuàng)建-獲取-持久化、自動(dòng)登錄、購(gòu)物記錄、作用路徑的相關(guān)知識(shí),非常不錯(cuò),對(duì)cookie持久化知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • Java Lock鎖多線程中實(shí)現(xiàn)流水線任務(wù)

    Java Lock鎖多線程中實(shí)現(xiàn)流水線任務(wù)

    這篇文章主要介紹了Java Lock鎖多線程中實(shí)現(xiàn)流水線任務(wù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java微信公眾平臺(tái)開發(fā)(13) 微信JSSDK中Config配置

    Java微信公眾平臺(tái)開發(fā)(13) 微信JSSDK中Config配置

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第十三步,微信JSSDK中Config配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java多線程基本用法總結(jié)

    Java多線程基本用法總結(jié)

    本篇文章主要總結(jié)了Java線程的一些基本的用法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • 如何解決springmvc文件下載,內(nèi)容損壞的問題

    如何解決springmvc文件下載,內(nèi)容損壞的問題

    這篇文章主要介紹了解決springmvc文件下載,內(nèi)容損壞的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java設(shè)計(jì)模式之橋接模式詳解

    Java設(shè)計(jì)模式之橋接模式詳解

    橋接模式(Bridge Pattern)是一種結(jié)構(gòu)型設(shè)計(jì)模式,用于將抽象部分和實(shí)現(xiàn)部分`分離開來,從而使它們可以獨(dú)立地進(jìn)行變化,本節(jié)給大家講一下設(shè)計(jì)模式中的橋接模式,并結(jié)合實(shí)際業(yè)務(wù)場(chǎng)景給大家講解如何使用,需要的朋友可以參考下
    2023-07-07
  • 一文詳解Java屬性為什么不能是is開頭的boolean

    一文詳解Java屬性為什么不能是is開頭的boolean

    在Java實(shí)體類定義中,boolean類型的屬性命名常引發(fā)爭(zhēng)議,阿里巴巴Java開發(fā)手冊(cè)建議避免使用is作為布爾類型屬性的前綴,原因在于當(dāng)實(shí)體類被序列化或反序列化時(shí),基于JavaBean規(guī)范的框架可能會(huì)移除或忽略is,導(dǎo)致不一致的字段名,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 詳解Java深拷貝,淺拷貝和Cloneable接口

    詳解Java深拷貝,淺拷貝和Cloneable接口

    這篇文章主要為大家詳細(xì)介紹了Java中Cloneable接口以及深拷貝與淺拷貝的相關(guān)知識(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-08-08
  • Mybatis中typeAliases的使用

    Mybatis中typeAliases的使用

    這篇文章主要介紹了Mybatis中typeAliases的使用,需要的朋友可以參考下
    2017-08-08
  • java實(shí)現(xiàn)插入排序算法

    java實(shí)現(xiàn)插入排序算法

    插入排序算法是一個(gè)對(duì)少量元素進(jìn)行排序的有效算法。插入排序的工作原理與打牌時(shí)整理手中的牌的做法類似,開始摸牌時(shí),我們的左手是空的,接著一次從桌上摸起一張牌,并將它插入到左手的正確位置。
    2015-04-04

最新評(píng)論