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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot_配置-配置文件占位符

發布時間:2024/4/13 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot_配置-配置文件占位符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置文件的占位符,我們在配置文件中,在寫某一個值的時候,第一種我們可以使用SpringBoot提供的隨機數,我們想使用前面配置的值,我們可以使用占位符獲取這個值,包括沒有在前面配置的話,可以使用冒號來使用默認值,我們來演示一下這兩個

我們要讀取person.properties,我們就不搞的這么麻煩了,就讓他讀主配置文件,然后把主配置文件的properties打開,無論是用yml還是properties,都支持我們這個操作,比如隨機數,比如張三,random里面有一個uuidperson.last-name=\u674E\u56DB${random.uuid}包括年齡我們也可以寫一個隨機數,我們年輕是一個隨機的整數person.age=${random.int}比如看這個名字,比如狗的名字我們想取出person.last-name的值,然后在后面拼一個dogperson.dog.name=${person.last-name}_dog包括前面配的server.port的東西,這是我的這兩個寫法,一個用了一個隨機數,還有咱們的占位符,測試一下我的person對象,獲取出來是什么樣子呢,我們發現person里面的lastName,張三這是一串隨機數,age是一個隨機的int值,包括我們的dog,dog是張三前面這一串加上dog,包括說如果我們前面沒有配置 #server.port=8081person.last-name=\u674E\u56DB${random.uuid} person.age=${random.int} person.birth=2017/12/15 person.boss=false person.maps.k1=v1 person.maps.k2=14 person.lists=a,b,c person.dog.name=${person.last-name}_dog person.dog.age=15 package com.learn.bean;import java.util.Date; import java.util.List; import java.util.Map;import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;/*** 將配置文件中配置的每一個屬性的值,映射到這個組件* @ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中的相關的配置進行綁定* prefix="person":配置文件中哪個下面的所有屬性進行映射* * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能;* 默認從全局配置文件中獲取值;*/ //@PropertySource(value= {"classpath:person.properties"}) @Component @ConfigurationProperties(prefix="person") //@Validated public class Person {/*** <bean class="person">* <property name="lastName" value="字面量/${key}從環境變量、配置文件中獲取值/#{SpEL}"></property>* </bean>*/// lastName必須是郵箱格式//@Email // @Value("${person.last-name}")private String lastName; // @Value("#{10*2}")private Integer age;@Value("true")private Boolean boss;private Date birth; // @Value("${person.maps}")private Map<String,Object> maps;private List<Object> lists;private Dog dog;public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Boolean getBoss() {return boss;}public void setBoss(Boolean boss) {this.boss = boss;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}public Map<String, Object> getMaps() {return maps;}public void setMaps(Map<String, Object> maps) {this.maps = maps;}public List<Object> getLists() {return lists;}public void setLists(List<Object> lists) {this.lists = lists;}public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}@Overridepublic String toString() {return "Person [lastName=" + lastName + ", age=" + age + ", boss=" + boss + ", birth=" + birth + ", maps="+ maps + ", lists=" + lists + ", dog=" + dog + "]";}} package com.learn.springboot;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.test.context.junit4.SpringRunner;import com.learn.bean.Person;/*** SpringBoot單元測試** 可以在測試期間很方便的類似編碼一樣進行自動注入等容器的功能*/ @RunWith(SpringRunner.class) @SpringBootTest public class SpringBoot02ConfigurationTests {@AutowiredPerson person;@AutowiredApplicationContext ioc;@Testpublic void testHelloService() {boolean b = ioc.containsBean("helloService02");System.out.println(b);}@Testpublic void contextLoads() {System.out.println(person);}} 我現在前面沒有配人名,他現在就解析出錯,出錯的原因呢,是我們要綁定person的值,我們要綁定person里面的每一個屬性,他都要在配置文件中要找到,然后我們不能夠解析person.last-name,我們配置文件中沒有lastName相關的信息,我們寫一個person.hello,我們從來沒有寫過person.hello的值,如果獲取不到值就是默認的表達式,但是我們可以使用一個冒號,給定一個默認值,如果person.hello取不出值,我們就默認使用后面這一串,dog就叫hello_dog沒問題 #server.port=8081person.last-name=\u674E\u56DB${random.uuid} person.age=${random.int} person.birth=2017/12/15 person.boss=false person.maps.k1=v1 person.maps.k2=14 person.lists=a,b,c person.dog.name=${person.hello:hello}_dog person.dog.age=15 這就是我們的配置文件占位符,隨機數的其他用法,大家在這試一試就行了,我們可以用這幾個隨機數,第一個我們能夠用這些隨機數

占位符獲取之前配置的值,如果沒有,可以使用指定默認值,這些隨機數也能用,包括我們獲取默認值也能用

?

總結

以上是生活随笔為你收集整理的SpringBoot_配置-配置文件占位符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。