整個項目所有的重要數(shù)據(jù)都是在配置文件中配置的,比如:
Spring Boot 配置文件的格式主要有兩種:
如下所示:
注意:
實例:
可以看出, properties 有明顯的缺,就是有挺多的冗余信息:
實例:
# 字符串
string.value: Hello
# 布爾值,true或false
boolean.value: true
boolean.value1: false
# 整數(shù)
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # ?進(jìn)制
# 浮點數(shù)
float.value: 3.14159
float.value1: 314159e-5 # 科學(xué)計數(shù)法
# Null,~代表null
null.value: ~
4. 配置信息讀取
4.1 自定義配置信息讀取首先在配置信息中,配置一個自定義信息:
然后讀取:
@RestController
public class TestController {@Value("${mykey.key1}")
private String mykey;
@RequestMapping("/hi")
public String sayhi(){return "hi,"+mykey;
}
}
打印結(jié)果:
以項目端口號為實例,先配置項目端口號:
然后讀?。?/p>
@RestController
public class TestController {@Value("${server.port}")
private String port;
@RequestMapping("/hi")
public String sayhi(){return "hi,"+port;
}
}
打印結(jié)果:
yml配置如果使用了雙引號修飾value值,那么value值就會觸發(fā)其本身的作用,比如:\n表示換行。
先在 .yml 配置文件中配置 student對象:
創(chuàng)建和配置文件相對于的Student類:
注意:要想上面的ConfigurationProperties能成功綁定,就必須是這個類具Setter方法
@Component//將該對象存儲在Spring當(dāng)中
@ConfigurationProperties(prefix = "student")//把配置文件中的student配置賦值給當(dāng)前的對象
@Data//使該類中的變量有Getter和Setter方法,
public class Student {private int id;
private String name;
private Integer age;
}
運行測試類:
@RestController
public class TestController {@Autowired
private Student student;
@RequestMapping("/hi")
public String sayhi(){return "id:"+student.getId()+" | name:"+student.getName();
}
}
運行結(jié)果:
在配置文件中創(chuàng)建一個集合:
創(chuàng)建和配置文件中相對于的類:
@Component
@ConfigurationProperties(prefix = "dbtypes")
@Data
public class DBTypes {private List name;//這個名字必須和配置文件中的name所對應(yīng)
}
運行測試類:
@RestController
public class TestController {@Autowired
private DBTypes dbTypes;
@RequestMapping("/hi")
public String sayhi(){return dbTypes.toString();
}
}
運行結(jié)果:
創(chuàng)建一下配置文件:
每個配置文件中都配置一個端口號,然后在 application.yml 中選擇某一個配置,如application-dev.yml:
那么啟動項目,項目將在8888端口運行,即dev端口:
需要注意的是:在創(chuàng)建各個環(huán)境的配置文件時,必須以 application- 開頭,其后面跟著字符就是環(huán)境名稱,在 application.yml 中選擇時,寫的就是它。即:
這種方式就可以控制程序在不同環(huán)境中運行,比如果dev環(huán)境使用的時數(shù)據(jù)庫A,test環(huán)境數(shù)據(jù)庫B,切換這兩者時,就只需要在application.yml中重寫選擇就行,就不需要重新寫,即用啥環(huán)境就選擇啥環(huán)境
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧