這篇文章主要介紹如何通過(guò)@Resource注解實(shí)現(xiàn)屬性裝配代碼,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷型網(wǎng)站制作、成都響應(yīng)式網(wǎng)站建設(shè)公司、展示型成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作等服務(wù),幫助中小企業(yè)通過(guò)網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷推廣問(wèn)題。
使用Field注入(用于注解方式):注入依賴對(duì)象可以采用手工裝配或者手工自動(dòng)裝配。在實(shí)際應(yīng)用中建議使用手工裝配,因?yàn)樽詣?dòng)裝配會(huì)產(chǎn)生未知情況,開(kāi)發(fā)人員無(wú)法預(yù)見(jiàn)最終的裝配結(jié)果。
依賴注入—手工裝配
手工裝配依賴對(duì)象,在這種方式中又有兩種編程方式。
1.在xml配置文件中,通過(guò)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)按名稱裝配。名稱可以通過(guò)@Resource的name屬性指定;如果沒(méi)有指定name屬性,當(dāng)注解標(biāo)注在字段上,即默認(rèn)字段的名稱作為bean名稱尋找依賴對(duì)象;當(dāng)注解標(biāo)注在屬性setter方法上,即默認(rèn)取屬性名作為bean名稱尋找依賴對(duì)象
@Resource(name="personDaoBean") private PersonDao personDao;
注:如果沒(méi)有指定name屬性,并且按照默認(rèn)的名稱仍找不到對(duì)象時(shí),@Resource注解會(huì)回退到按類型裝配。但一旦指定了name屬性,就只能按名稱裝配了。
以上是“如何通過(guò)@Resource注解實(shí)現(xiàn)屬性裝配代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:如何通過(guò)@Resource注解實(shí)現(xiàn)屬性裝配代碼
轉(zhuǎn)載來(lái)源:http://jinyejixie.com/article28/pddijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、電子商務(wù)、搜索引擎優(yōu)化、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)