來(lái)源:lt3 發(fā)布時(shí)間:2018-11-14 11:23:49 閱讀量:1196
在applicationContext.xml中配置了一個(gè)新的DataSource,同時(shí),添加一個(gè)新的jdbcTemple,代碼如下:
<bean id="hrjdbcTemple" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="hrdataSource"/>
</bean>
1
2
3
但是,在項(xiàng)目啟動(dòng)時(shí),報(bào)了這樣的錯(cuò)誤,如下:
expected single matching bean but found 2: jdbcTemple, hrjdbcTemple
1
起初,懷疑是datasource的問(wèn)題,但是不過(guò)我如何嘗試,都說(shuō)明datasource是沒(méi)有任何問(wèn)題的。于是,從jdbcTemple入手,查找了下網(wǎng)上資料,實(shí)例化jdbcTemple大概有三種,由于項(xiàng)目是用掃描注入的,所以有些方法就用不了。于是,從配置注入的想法暫時(shí)取消,上面配置只好暫時(shí)作罷,先注釋掉了。以下是我從代碼中實(shí)例化jdbcTemple的方法,如下:
private JdbcTemplate hrjdbcTemplate;
@Autowired
public void setHrjdbcTemplate(@Qualifier("hrdataSource") DataSource dataSource) {
this.hrjdbcTemplate = new JdbcTemplate(dataSource);
}
1
2
3
4
5
6
此代碼是直接寫在service中的。
說(shuō)明:
為了跟項(xiàng)目中原有的jdbcTemple做區(qū)分,這里用hrjdbcTemplate,實(shí)例其實(shí)是一樣的。
這里要注意的是DataSource,這個(gè)是比較關(guān)鍵的,@Qualifier(“hrdataSource”)
這個(gè)是配置文件中配置的新數(shù)據(jù)源,在這里明確指定。
關(guān)于DataSource的導(dǎo)入jar,也是個(gè)問(wèn)題,因?yàn)榕渲梦募惺褂玫氖莟omcat的pool下的DataSource,所以這里也使用該jar,但是編譯就一直報(bào)錯(cuò),查看了下jar都有。后來(lái)改成了java.sql下面的jar,就OK了。原因未知!
雖然,目前是可以正常運(yùn)行,但是對(duì)于以上情況也是一知半解的。
---------------------
作者:lt3
來(lái)源:CSDN
原文:https://blog.csdn.net/lts_cxl/article/details/51143083
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信