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

Spring及Mybatis整合占位符解析失敗問題解決

 更新時間:2020年07月17日 11:36:58   作者:來自海上的魚  
這篇文章主要介紹了Spring及Mybatis整合占位符解析失敗問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

問題:寫了一個新的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}時未找到對應(yīng)的屬性。

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

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

解決問題

將配置文件的加載由原先使用注解@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" />
    <!--網(wǎng)上說這個name屬性值要配置成這個sqlSessionFactoryBeanName名字,我恰好配的就是這個,所以我這里不需要改-->
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot各種下載文件的方式匯總

    springboot各種下載文件的方式匯總

    下載功能其實就是用戶輸入指定文件路徑信息,然后把文件返回給用戶,下面這篇文章主要給大家介紹了關(guān)于springboot各種下載文件的方式,需要的朋友可以參考下
    2022-10-10
  • 創(chuàng)建java多線程程序

    創(chuàng)建java多線程程序

    Java 給多線程編程提供了內(nèi)置的支持。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發(fā)多個線程,每條線程并行執(zhí)行不同的任務(wù)。希望本篇文章能夠給你帶來幫助
    2021-06-06
  • java操作solr實現(xiàn)查詢功能的實例

    java操作solr實現(xiàn)查詢功能的實例

    下面小編就為大家分享一篇java操作solr實現(xiàn)查詢功能的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • java程序員必會的遠程debug教程

    java程序員必會的遠程debug教程

    這篇文章主要為大家介紹了java程序員必會的遠程debug教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • idea本地jar使用maven打包本地依賴實現(xiàn)自動編譯到項目里的操作

    idea本地jar使用maven打包本地依賴實現(xiàn)自動編譯到項目里的操作

    這篇文章主要介紹了idea本地jar使用maven打包本地依賴實現(xiàn)自動編譯到項目里的操作,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Java單鏈表的增刪改查與面試題詳解

    Java單鏈表的增刪改查與面試題詳解

    單鏈表是鏈表的其中一種基本結(jié)構(gòu)。一個最簡單的結(jié)點結(jié)構(gòu)如圖所示,它是構(gòu)成單鏈表的基本結(jié)點結(jié)構(gòu)。在結(jié)點中數(shù)據(jù)域用來存儲數(shù)據(jù)元素,指針域用于指向下一個具有相同結(jié)構(gòu)的結(jié)點。 因為只有一個指針結(jié)點,稱為單鏈表
    2022-09-09
  • java實現(xiàn)兩個文件的異或運算

    java實現(xiàn)兩個文件的異或運算

    這篇文章主要為大家詳細介紹了java實現(xiàn)兩個文件的異或運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 關(guān)于Java 項目封裝sqlite連接池操作持久化數(shù)據(jù)的方法

    關(guān)于Java 項目封裝sqlite連接池操作持久化數(shù)據(jù)的方法

    這篇文章主要介紹了Java 項目封裝sqlite連接池操作持久化數(shù)據(jù)的方法,文中給大家介紹了sqlite的體系結(jié)構(gòu)及封裝java的sqlite連接池的詳細過程,需要的朋友可以參考下
    2021-11-11
  • Java 圖片復(fù)制功能實現(xiàn)過程解析

    Java 圖片復(fù)制功能實現(xiàn)過程解析

    這篇文章主要介紹了Java 圖片復(fù)制功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • mybatis映射文件mapper.xml的具體寫法

    mybatis映射文件mapper.xml的具體寫法

    在開發(fā)過程中,需要開發(fā)人員配置mapper映射文件,本文主要介紹了mybatis映射文件mapper.xml的具體寫法,感興趣的可以了解一下
    2021-09-09

最新評論