1. 程式人生 > >spring報“Could not resolve placeholder”錯誤

spring報“Could not resolve placeholder”錯誤

org.springframework.beans.factory.BeanDefinitionStoreException

Invalid bean definition with name '******' defined in null: Could not resolve placeholder 'displayName'

我未深究原因,猜測原因如下:

有可能是因為你配置了多個 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

這個配置用於 xml 中的佔位符,如下:

<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />

假設 a.xml 配置了一個 PropertyPlaceholderConfigurer ,並且成功了。

後來,b.xml 也配置了一個 PropertyPlaceholderConfigurer ,這時候如果不做特別配置,b.xml 裡配置的placeholder將無法使用,並報上面的錯誤。

************************************************************************************************************

解決方法:a.xml中配置第一個 PropertyPlaceholderConfigurer

時,將ignoreUnresolvablePlaceholders的值設為true

如下所示:

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


</bean>

這個配置告訴spring,當某個placeholder無法找到時,先不要報錯,並嘗試用另一個PropertyPlaceholderConfigurer來設定placeholder的值。

相關推薦

springCould not resolve placeholder錯誤

org.springframework.beans.factory.BeanDefinitionStoreException:  Invalid bean definition with name '******' defined in null: Could not r

springboot註解@Value總是Could not resolve placeholder的問題

boot system this ati quest code test 順序 sage 場景: 兩個配置文件:db.properties,application.properties 在數據庫配置裏面引用db.properties <bean id="proper

spring boot could not resolve placeholder in string value 問題解決方法

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'hosts' in string value "${db.hosts}" 問題的產生是由於有多個properti

【轉】Spring項目啟動"Could not resolve placeholder"解決方法

web 啟動 not res org 文件 rop 出現 沒有 問題的起因:   除去properites文件路徑錯誤、拼寫錯誤外,出現"Could not resolve placeholder"很有可能是使用了多個PropertyPlaceholderConfigur

Spring @Value("$XXX")注入值失敗,錯誤資訊提示:Could not resolve placeholder佔位符不能被解析

問題原因: Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'wx.app.config.appid' in string value "${wx.app.config

springboot啟動突然Could not resolve placeholder 'spring.datasource.driver-class-name'

之前好好的專案,今天啟動突然報錯Could not resolve placeholder 'spring.datasource.driver-class-name' 按照網友的方法,添加了 @PropertySource(value = "classpath:application.pro

啟動錯誤Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"

專案啟動報錯:Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"專案在配置更改後要對maven進行clean,install的操作,清除以重新編譯專

Spring+Redis整合以及異常 Could not resolve placeholder解決

spring+Redis 概述 本文主要為了整合spring和redis,以及記錄解決中間遇到的問題。 什麼是redis? Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言

理解Could not resolve placeholder——XML引入配置檔案錯誤

引入配置檔案錯誤,首先確保properties檔案內和xml中引用的對映沒問題,這個應該都不是問題。 那麼看著完全沒有問題,還是丟擲Could not resolve placeholder,是為什麼? xml中能使用例如${xxx}作為佔位符,是因為你使用了<co

Could not resolve placeholder 'jdbc.driverClassName' in string value "${jdbc.driverClassName}

Invalid bean definition with name 'dataSource' defined in file [E:\apache-tomcat-7.0.65\webapps\bbs\WEB-INF\classes\spring.xml]: Could not resolve placehol

Could not resolve placeholder 'driver' in string value "${driver}

技術分享 val 導致 driver ive 分享 resolve img could 可能是因為配置文件jdbc.properties 和xml文件不一致導致的,比如 jdbc.properties裏面寫的是 但是xml文件裏面寫 導致了取值錯誤,兩邊一致即可。 C

Could not resolve placeholder'XXX' in string value "XXXX"

同時 占位符 bsp 通過 存在 遇到 could oca nor 練習SSM項目的demo中遇到一個問題,我在applicationContext.xml中使用了<context:property-placeholder location="classpath:jd

IllegalArgumentException Could not resolve placeholder

異常資訊: Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. [2018-12-01 10

springboot Could not resolve placeholder 'schedu' in value "${schedu}"

在springboot的application.yml檔案中配置了引數schedu,然後在業務中通過@Value(“${schedu}”)進行賦值,但是啟動之後報如下錯誤: 注意:在idea下執行的時

解決--Could not resolve placeholder 'send.status.national' in value "${send.status.national}"

網上問這種問題的很多,但是給的解決方法對我來說還是不正確,我的解決方法是: 原配置:  <context:property-placeholder location="classpath:properties/*.properties" /> 修改後:<

Could not resolve placeholder '***' in string value "${****}"

這裡記錄下,Spring 執行單元測試時報這個錯誤,基本上是由於單元測試的配置檔案覆蓋不全的問題導致的。在spring 的配置檔案中,我這裡叫做spring-config.xml 檔案中,找到屬性檔案讀入的bean。如下: <!-- 屬性檔案讀入 --> <

Could not resolve placeholder 'jdbc username' in string valu

                1、錯誤描述嚴重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListeneror

Java異常 - java.lang.IllegalArgumentException: Could not resolve placeholder 'xxxx' in string value xx

異常描述 org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'xxx' defined in URL[file:/xxxx/xxx.xml

SpringBoot內建SpringMVC控制器轉發到對應的JSP頁面Could not resolve view with name 'xx' in servlet with name dispa

錯誤如下: 請求: 處理方式: 在主啟動類中增加一下程式碼即可解決問題: @Bean public InternalResourceViewResolver setupViewResolver(){ InternalResourceViewResolver res

springboot中艱難排查IllegalArgumentException: Could not resolve placeholder 'AppID' in value "${AppID}"

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2018-07-24 15:04:09.653