使用springMVC的朋友,有時(shí)候可能會(huì)遇到以下問題:
創(chuàng)新互聯(lián)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì),品牌網(wǎng)站制作,一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上1000家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
想在controller中使用@Value指定變量,但是無法得到對應(yīng)的值。而在server層獲取,是正常的。
解決方案:
1:在srping-mvc.xml 加上以下配置。相當(dāng)于在springmvc配置文件中也讀取properties文件,這樣controller就訪問自己容器中的數(shù)據(jù)
2:在父容器中注冊一個(gè)公用Bean,然后把配置文件的值注入到這個(gè)Bean中
因?yàn)镾ervice層的對象是有Spring容器創(chuàng)建,因此我們定義一個(gè)Component: AccOauthUtils,注入進(jìn)來屬性用public修飾
@Component
public class AccOauthUtils {
@Value("${accStatus}")
public String accStatus;
在controller注入(必須通過@Autowired注解,通過new AccOauthUtils的形式無法獲取值):
@Autowired
private AccOauthUtils accOauthUtils;
再通過 accOauthUtils.accStatus獲取