日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring注解@Value获取属性文件值且解决在controller无法获取到值的问题

發(fā)布時(shí)間:2025/3/20 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring注解@Value获取属性文件值且解决在controller无法获取到值的问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、說到@Value注解,用過的應(yīng)該都知道,這是Spring3的一個(gè)注解,通過@value注解的方式獲取properties文件中的配置值,大大簡化了我們讀取配置文件的代碼

首先必須要配置properties文件的加載bean:在spring的配置文件中加入:讓spring將properties的文件中的內(nèi)容加載進(jìn)spring容器中,將properties加入到Spring容器中有兩種方式

1、以注入bean的形式

<bean id="appProperty"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><array><value>classpath:weixin.properties</value></array></property> </bean>

2、以下面這種形式,加載多個(gè)properties文件使用,隔開;

<!-- 加載配置屬性文件 --><context:property-placeholder ignore-unresolvable="true" location="classpath:jeesite.properties,classpath:weixin.properties" />

3、weixin.properties內(nèi)容以鍵值對(key = value)形式存放

4、@Value使用

以 @Value("${key}")的形式獲取properties中key對應(yīng)的value值 , 以下為獲取value值得代碼

5、問題 :但是上述步驟還存在一個(gè)問題,就是我在Service中通過 @Value("${token}") 可以獲取到token的值,但是在controller中無法獲取到token的值,若要在Controller層也使用@Value訪問properties配置的話,需要在xxx-servlet.xml(我這里是Spring-mvc.xml)中也定義properties配置文件。

解決 : 必須在Spring-mvc.xml中加入

<!-- 加載配置屬性文件 --><context:property-placeholder ignore-unresolvable="true" location="classpath:jeesite.properties,classpath:weixin.properties" />


總結(jié) :

如上所示,同樣的代碼,寫在在業(yè)務(wù)層,運(yùn)行時(shí)能取到正確的值,但在控制層卻取得了@Value注解中的Key(@Value注解有個(gè)特點(diǎn),如果取不到值,那么不是返回一個(gè)null,而是返回Key)。

原因是controller注冊在dispatcherservlet-servlet.xml代表的Spring MVC的容器中,而service則注冊在application-context.xml代表的Spring的容器中。

如果context:property-placeholder只注冊在Spring的容器中,那么自然只有業(yè)務(wù)層的類可以取到enable-upload-image的值,而控制器取不到值。

解決方法就是把各種context:property-placeholder在兩個(gè)容器中都注冊一下。如:

并且現(xiàn)在可以從屬性文件讀取,這只是@Value其中一小部分用法,詳細(xì)請查閱資料,這次記錄只是記錄我在項(xiàng)目中所遇到的問題,方便記憶,以防止自己以后再入坑,有紕漏請指出,不喜勿噴!

作者:自由不過一種漂泊
原文:https://blog.csdn.net/Thinkingcao/article/details/80620240

總結(jié)

以上是生活随笔為你收集整理的Spring注解@Value获取属性文件值且解决在controller无法获取到值的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。