溫馨提示×

溫馨提示×

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

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

spring中@value注解需要注意的問題

發(fā)布時間:2020-08-22 09:11:49 來源:腳本之家 閱讀:141 作者:qiuhan888 欄目:編程語言

首先,@value需要參數(shù),這里參數(shù)可以是兩種形式:@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}");

其次,下面我們來看看如何使用這兩形式,在配置上有什么區(qū)別:

1、 @Value("#{configProperties['t1.msgname']}")這種形式的配置中有“configProperties”,其實它指定的是配置文件的加載對象:配置如下:

<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
   <property name="locations">
     <list>
       <value>classpath:/config/t1.properties</value>
     </list>
   </property>
 </bean> 

這樣配置就可完成對屬性的具體注入了;

2、 @Value("${t1.msgname}")這種形式不需要指定具體加載對象,這時候需要一個關(guān)鍵的對象來完成PreferencesPlaceholderConfigurer,這個對象的配置可以利用上面配置1中的配置,也可以自己直接自定配置文件路徑。

如果使用配置1中的配置,可以寫成如下情況:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="properties" ref="configProperties"/>
 </bean> 

如果直接指定配置文件的話,可以寫成如下情況:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="location">
    <value>config/t1.properties</value>
    </property>
  </bean> 

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

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI