在springboot項(xiàng)目配置文件中設(shè)置自定義字段,項(xiàng)目代碼按需讀取,想換重要參數(shù)時(shí)直接更改配置文件即可,這篇文章說一說配置文件自定義字段的方法。
創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、雙柏網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為雙柏等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。二、實(shí)現(xiàn)方法 方法1 @Value使用org.springframework.beans.factory.annotation包下的@Value注解讀取yml文件里面的字段,代碼如下:
yml文件:
server:
port: 8080
#自定義參數(shù)字段
student:
name: Simon
age: 23
sex: male
height: 185
controller層讀?。?/p>
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {
@Value("${student.name}")
private String name;
@Value("${student.age}")
private String age;
@Value("${student.sex}")
private String sex;
@Value("${student.height}")
private String height;
@RequestMapping("/1")
public Object test(){
log.info("我叫"+name+",性別是:"+sex+",今年"+age+"歲,我還是個(gè)"+height+"cm大高個(gè)的帥小伙!");
return "我叫"+name+",性別是:"+sex+",今年"+age+"歲,我還是個(gè)"+height+"cm大高個(gè)的帥小伙!";
}
}
測(cè)試結(jié)果:
方法2:@PropertySource()、@ConfigurationProperties()組合使用@PropertySource()、@ConfigurationProperties()兩個(gè)注解對(duì)springboot項(xiàng)目的properties配置文件的的讀取。
properties文件:
student.name=simon
student.age=23
student.sex=male
student.height= 185
student.self-assessment=handsome
?。?!注意:這里與方法一yml文件采取@Value的方式讀取不同,讀取properties文件需要建一個(gè)讀取類(Studentconfig),將properties文件中想讀取得字段都注入進(jìn)去作為該類的屬性,再將Student通過@Configuration注解將其當(dāng)作Bean交給容器管理,需要用的時(shí)候?qū)tudent整個(gè)類注入,在調(diào)用get方法得到其屬性(即配置文件中的自定義字段)
StudentConfig類
@Configuration
@PropertySource("classpath:application.properties")//讀取配置文件
@ConfigurationProperties(prefix="student")//讀取節(jié)點(diǎn)
@Data
public class StudentConfig {
private String name;
private String sex;
private int age;
private int height;
private String selfAssessment;
}
controller層讀?。▽tudentConfig整個(gè)類注入,再使用get方法調(diào)用)
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {
@Value("${student.name}")
private String name;
@Value("${student.age}")
private String age;
@Value("${student.sex}")
private String sex;
@Value("${student.height}")
private String height;
@Autowired
private StudentConfig student;
@RequestMapping("/1")
public Object test1(){
log.info("我叫"+name+",性別是:"+sex+",今年"+age+"歲,我還是個(gè)"+height+"cm大高個(gè)的帥小伙!");
return "我叫"+name+",性別是:"+sex+",今年"+age+"歲,我還是個(gè)"+height+"cm大高個(gè)的帥小伙!";
}
@RequestMapping("/properties")
public Object test2(){
return "我叫"+student.getName()+"" +
",性別是:"+student.getSex()+
",今年"+student.getAge()+
"歲,我還是個(gè)"+student.getHeight()+"cm大高個(gè)的帥小伙!" +
"我對(duì)自己的評(píng)價(jià)是"+student.getSelfAssessment();
}
得到結(jié)果:
三、使用@value注解讀取yml失效的場(chǎng)景及解決辦法(下次更新)四、嵌套讀取properties文件的方法(讀取類繼承HashMap類)(下次更新)你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:java-讀取配置文件自定義字段(yml、properties)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://aaarwkj.com/article18/ccdgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、外貿(mào)建站、全網(wǎng)營銷推廣、App開發(fā)、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容