国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

spring之Autowired小坑

2019-11-15 00:42:06
字體:
供稿:網(wǎng)友
sPRing之Autowired小坑

spring引進(jìn)注解之后大大簡(jiǎn)化了xml的配置,上手spring變得更加簡(jiǎn)單起來。本人也是剛剛上手spring不久,開始一頭霧水到能夠依葫蘆畫瓢花了一個(gè)月,到現(xiàn)在公司需要的基本的spring配置都能獨(dú)自搞定了,可見上手spring還是比較容易的。但是須知spring這么牛逼的框架應(yīng)該不會(huì)是一兩個(gè)月就能hold住的玩意,今天又踩了兩個(gè)坑,記錄一下。

公司的service調(diào)用采取的是遠(yuǎn)程調(diào)用方式,各個(gè)部門把各自對(duì)外提供的service用192.168.0.1:4080/services/XXX這樣的url暴露出來,在瀏覽器中是可以直接調(diào)用的,相應(yīng)地spring配置service的時(shí)候就不像平時(shí)自己寫代碼的時(shí)候配個(gè)com.xx.##impl這樣了,而是用url的方式。背景介紹完畢。

我在引用xxService的時(shí)候,不僅在spring-bean.xml中配置了,也在引用它的類中使用了@Autowired標(biāo)注了它,又有set方法,總之我認(rèn)為所有跟裝配有關(guān)的條件全部都加上了,自以為多重保證絕壁不會(huì)有bean初始化的問題。結(jié)果一運(yùn)行卻還是爆了錯(cuò),大惑不解?;艘粋€(gè)多小時(shí)才找到了問題所在。

原因在于@Autowired找適合的bean的時(shí)候是采取byType方式的,意思是如果我有個(gè)AService以及一個(gè)AServiceImpl實(shí)現(xiàn)了AService,為AService標(biāo)注了@Autowired則會(huì)先去你的代碼結(jié)構(gòu)中找到看看有沒有AServiceImpl這樣一個(gè)類,如果有就自動(dòng)裝配,沒有就報(bào)錯(cuò)。而先前已經(jīng)提過了,這是遠(yuǎn)程service,我的代碼結(jié)構(gòu)里肯定是找不到這個(gè)impl類的,因此即使我在spring-bean.xml中配置過同名的bean,autowired也沒法自動(dòng)裝配,解決方案非常簡(jiǎn)單,去掉autowired即可,那樣就變成了byName的方式去找了。這個(gè)故事告訴我們不要畫蛇添足。

如果強(qiáng)行要用Autowired的話。。。

還可以加個(gè)@Qualifier限定死名字讓Autowired知道用byName來找吧。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁寿县| 西平县| 余姚市| 弥渡县| 桂东县| 新晃| 陇川县| 彩票| 西充县| 河北区| 普兰店市| 南木林县| 耒阳市| 中超| 大洼县| 沂水县| 大名县| 慈利县| 仪陇县| 邢台市| 汕头市| 八宿县| 红安县| 马公市| 泉州市| 麦盖提县| 长宁区| 阳西县| 永胜县| 车险| 株洲县| 松原市| 青川县| 苗栗县| 天门市| 昌邑市| 烟台市| 蒙城县| 乌恰县| 洪江市| 和龙市|