SpringBoot基礎回顧-6

1.8 隨機數設置及參數間引用


在Spring Boot配置文件中設置屬性時,除了能夠像前面示例中顯示的配置屬性值外,還能夠使用隨機值和參數間引用對屬性值進行設置。下面,針對配置文件中這兩種屬性值的設置方式進行講解java

1.8.1隨機值設置


在Spring Boot配置文件中,隨機值設置使用到了Spring Boot內嵌的RandomValuePropertySource類,對一些隱祕屬性值或者測試用例屬性值進行隨機值注入 app


隨機值設置的語法格式爲${random.xx},xx表示須要指定生成的隨機數類型和範圍,它能夠生成隨機的整數、uuid或字符串,示例代碼以下less

my.secret=${random.value}         // 配置隨機值 

my.number=${random.int}           // 配置隨機整數

my.bignumber=${random.long}      // 配置隨機long類型數

my.uuid=${random.uuid}            // 配置隨機uuid類型數

my.number.less.than.ten=${random.int(10)}    // 配置小於10的隨機整數

my.number.in.range=${random.int[1024,65536]}
// 配置範圍在[1024,65536]之間的隨機整數


上述代碼中,使用RandomValuePropertySource類中random提供的隨機數類型,分別展現了不一樣類型隨機值的設置示例dom

1.8.2參數間引用


在Spring Boot配置文件中,配置文件的屬性值還能夠進行參數間的引用,也就是在後一個配置的屬性值中直接引用先前已經定義過的屬性,這樣能夠直接解析其中的屬性值了。測試

使用參數間引用的好處就是,在多個具備相互關聯的配置屬性中,只須要對其中一處屬性預先配置,其餘地方均可以引用,省去了後續多處修改的麻煩 ui


參數間引用的語法格式爲${xx},xx表示先前在配置文件中已經配置過的屬性名,示例代碼以下code

app.name=MyApp

app.description=${app.name} is a Spring
Boot application


上述參數間引用設置示例中,先設置了「app.name=MyApp」,將app.name屬性的屬性值設置爲了MyApp;接着,在app.description屬性配置中,使用${app.name}對前一個屬性值進行了引用 ip


接下來,經過一個案例來演示使用隨機值設置以及參數間引用的方式進行屬性設置的具體使用和效果,具體步驟以下 字符串


(1)打開Spring Boot項目resources目錄下的application.properties配置文件,在該配置文件中分別經過隨機值設置和參數間引用來配置兩個測試屬性,示例代碼以下io

# 隨機值設置以及參數間引用配置

tom.age=${random.int[10,20]}

tom.description=tom的年齡多是${tom.age}


在上述application.properties配置文件中,先使用隨機值設置了tom.age屬性的屬性值,該屬性值設置在了[10,20]之間,隨後使用參數間引用配置了tom.description屬性


(2)打開項目的測試類,在該測試類中新增字符串類型的description屬性,並將配置文件中的tom.description屬性進行注入,而後新增一個測試方法進行輸出測試,示例代碼以下

@Value("${tom.description}")

private String description;

@Test

public void placeholderTest() {

       System.out.println(description);

}

上述代碼中,經過@Value("${tom.description}")註解將配置文件中的tom.description屬性值注入到了對應的description屬性中,在測試方法placeholderTest()中對該屬性值進行了輸出打印。

執行測試方法placeholderTest() ,查看控制檯輸出效果

<img src="./images/image-20191225172004276.png"
alt="image-20191225172004276" style="zoom:80%;" />


能夠看出,測試方法placeholderTest()運行成功,並打印出了屬性description的注入內容,該內容與配置文件中配置的屬性值保持一致。接着,重複執行測試方法placeholderTest(),查看控制檯輸出語句中顯示的年齡就會在[10,20]之間隨機顯示

上了拉勾教育的《Java工程師高薪訓練營》,作一下筆記。但願拉勾能給我推到想去的公司,目標:字節!!

相關文章
相關標籤/搜索