Spring注解@Value及屬性加載配置文件方式_第1頁
Spring注解@Value及屬性加載配置文件方式_第2頁
Spring注解@Value及屬性加載配置文件方式_第3頁
Spring注解@Value及屬性加載配置文件方式_第4頁
Spring注解@Value及屬性加載配置文件方式_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第Spring注解@Value及屬性加載配置文件方式Spring中使用@Value注解給bean加載屬性的配置文件有兩種使用方式

第一種:使用@Value("#{configProperties['websit.msgname']}")

spring中配置屬性加載文件的配置方式

beanid="configProperties"

propertyname="locations"

list

valueclasspath:/properties/perties/value

/list

/property

/bean

注意

1.這里使用的configProperties必須要和定義的bean名稱一致。

2.websit用來指定msgname來源于那個(gè)配置文件

3.配置的加載屬性bean名稱為org.springframework.beans.factory.config.PropertiesFactoryBean

第二種:使用@Value("${websit.msgname}");

使用這種方式,又可以有兩種配置方式

beanid="propertyConfigurer"

propertyname="properties"ref="configProperties"/

/bean

beanid="configProperties"

propertyname="locations"

list

valueclasspath:/properties/perties/value

/list

/property

/bean

beanid="propertyConfigurer"

propertyname="locations"

list

valueclasspath:properties/perties/value

/list

/property

/bean

當(dāng)使用@Value注解bean屬性時(shí),如果沒有在配置文件中配置,這時(shí)啟動(dòng)spring就會(huì)拋出異常。@Value提供了一種默認(rèn)值的設(shè)置方式,如果在屬性文件中沒有配置則可以使用默認(rèn)值。

形式如下

@Value("${avg.age:22}")

privateintuserAge;

如果使用@Value注解后,數(shù)據(jù)不能正常的被注入則需要在xml的配置文件中加入下列代碼

context:annotation-config/

SpringBoot使用注解(@value)讀取properties(yml)文件中配置信息

為了簡(jiǎn)化讀取properties文件中的配置值,spring支持@value注解的方式來獲取,這種方式大大簡(jiǎn)化了項(xiàng)目配置,提高業(yè)務(wù)中的靈活性。

1.兩種使用方法

1)@Value("#{configProperties['key']}")

2)@Value("${key}")

2.配置文件示例

ftp:

ftplp:9

ftpPort:21

ftpUser:uftp

ftpPwd:12345678

ftpRemotePath:/home

說明:以上是配置文件中的信息,主要是一些賬號(hào)密碼等信息。

3.讀取yml配置文件的工具類

packagecom.dbright.dataprediction.entity;

importorg.springframework.beans.factory.annotation.Value;

importperties.ConfigurationProperties;

importorg.springframework.context.annotation.PropertySource;

importorg.springframework.stereotype.Component;

@Component

@PropertySource("classpath:ftpconfig.yml")

@ConfigurationProperties(prefix="ftp")

publicclassFtpProperties{

@Value("${ftplp}")

publicStringftplp;

@Value("${ftpPort}")

publicStringftpPort;

@Value("${ftpUser}")

publicStringftpUser;

@Value("${ftpPwd}")

publicStringftpPwd;

@Value("${ftpRemotePath}")

publicStringftpRemotePath;

publicStringgetFtplp(){

returnftplp;

publicvoidsetFtplp(Stringftplp){

this.ftplp=ftplp;

publicStringgetFtpPort(){

returnftpPort;

publicvoidsetFtpPort(StringftpPort){

this.ftpPort=ftpPort;

publicStringgetFtpUser(){

returnftpUser;

publicvoidsetFtpUser(StringftpUser){

this.ftpUser=ftpUser;

publicStringgetFtpPwd(){

returnftpPwd;

publicvoidsetFtpPwd(StringftpPwd){

this.ftpPwd=ftpPwd;

publicStringgetFtpRemotePath(){

returnftpRemotePath;

publicvoidsetFtpRemotePath(StringftpRemotePath){

this.ftpRemotePath=ftpRemotePath;

}

說明:以上是使用@value注解來讀取yml配置文件的代碼示例

1)@component——把普通pojo實(shí)例化到spring容器中,相當(dāng)于配置文件中的`beanid=""class=""/`

2)@PropertySource("classpath:ftpconfig.yml")——設(shè)置yml文件的路徑,方便掃描到。一般我們配置文件都是放在resources包下。所以我們只需要classpath+所需要讀取的配置文件名稱。

3)@ConfigurationProperties(prefix="ftp")——這個(gè)不需要解釋太多,配置文件里面內(nèi)容的前綴,我們讀取的是ftp下的信息。

4)@Value("${ftplp}")——這是讀取我們所需的配置信息,美元符號(hào)+{字段名}即可制定

5)下面定義字符串來接收所讀取到的配置信息。

6)寫set和get方法,方便

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論