中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring及Mybatis整合占位符解析失敗怎么辦

發布時間:2020-07-17 17:14:55 來源:億速云 閱讀:231 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了Spring及Mybatis整合占位符解析失敗怎么辦,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

問題:寫了一個新的dao接口,進行單元測試時提示:

Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'maxActive'; nested exception is java.lang.NumberFormatException: For input string: "${maxActive}"

原配置datasource時使用了占位符,該提示是在解析占位符${maxActive}時未找到對應的屬性。

單元測試加載properties使用@PropertySource(value = {"classpath*:jdbc.properties"})注解加載配置文件。

在確認自己properties文件路徑是正確的且存在該屬性值后,在網上找到相應的資料如https://my.oschina.net/u/1455908/blog/215953說的是在配置mybatis的MapperScannerConigurer時會優先于@PropertySource注解解析占位符,由于占位符未進行解析,直接使用了“${maxActive}”了該字符串作為該配置項的值。也就是報錯所說的“${maxActive}”這個字符串無法轉化成對應的int數值。

解決問題

將配置文件的加載由原先使用注解@PropertySource(value = {"classpath*:jdbc.properties"})改成如下:

	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:jdbc.properties</value>
			</list>
		</property>
		<property name="ignoreUnresolvablePlaceholders" value="true"></property>
	</bean>

原先MapperScannerConfigurer的配置沒有做修改,如下:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.**.dao,com.**.mapper,com.**.test.**.mapper" />
    <!--網上說這個name屬性值要配置成這個sqlSessionFactoryBeanName名字,我恰好配的就是這個,所以我這里不需要改-->
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

這樣該問題解決。但疑問依然存在,為何@PropertySource這個注解沒有ignoreUnresolvablePlaceholders這個屬性可以進行配置,并且用xml的方式又能正確解析。

以上就是關于Spring及Mybatis整合占位符解析失敗怎么辦的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍城县| 绥芬河市| 大安市| 榆社县| 疏附县| 长寿区| 浦东新区| 玉环县| 大同县| 民丰县| 江阴市| 翼城县| 瓦房店市| 都匀市| 双城市| 修文县| 进贤县| 海晏县| 包头市| 衡水市| 渭源县| 新田县| 和政县| 定陶县| 柘荣县| 上饶市| 英吉沙县| 威信县| 定远县| 行唐县| 长泰县| 景洪市| 合肥市| 安国市| 右玉县| 宣化县| 黄石市| 江津市| 罗山县| 景宁| 小金县|