springboot採納了創建生產就緒Spring應用程序的觀點。 Spring Boot優先於配置的慣例,旨在讓您儘快啓動和運行。在通常狀況下,咱們不須要作太多的配置就可以讓spring boot正常運行。在一些特殊的狀況下,咱們須要作修改一些配置,或者須要有本身的配置屬性。java
當咱們建立一個springboot項目的時候,系統默認會爲咱們在src/main/java/resources目錄下建立一個application.properties。我的習慣,我會將application.properties改成application.yml文件,兩種文件格式都支持。spring
在application.yml自定義一組屬性:瀏覽器
1
2
3
|
my:
name: forezp
age:
12
|
若是你須要讀取配置文件的值只須要加@Value(「${屬性名}」):springboot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@RestController
public
class
MiyaController {
@Value
(
"${my.name}"
)
private
String name;
@Value
(
"${my.age}"
)
private
int
age;
@RequestMapping
(value =
"/miya"
)
public
String miya(){
return
name+
":"
+age;
}
}
|
啓動工程,訪問:localhost:8080/miya,瀏覽器顯示:app
1
|
forezp:
12
|
當咱們有不少配置屬性的時候,這時咱們會把這些屬性做爲字段來建立一個javabean,並將屬性值賦予給他們,好比:dom
1
2
3
4
5
6
7
8
|
my:
name: forezp
age:
12
number: ${random.
int
}
uuid : ${random.uuid}
max: ${random.
int
(
10
)}
value: ${random.value}
greeting: hi,i'm ${my.name}
|
其中配置文件中用到了${random} ,它能夠用來生成各類不一樣類型的隨機值。分佈式
怎麼講這些屬性賦於給一個javabean 呢,首先建立一個javabean :spring-boot
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@ConfigurationProperties
(prefix =
"my"
)
@Component
public
class
ConfigBean {
private
String name;
private
int
age;
private
int
number;
private
String uuid;
private
int
max;
private
String value;
private
String greeting;
省略了getter setter....
|
須要加個註解@ConfigurationProperties,並加上它的prrfix。另外@Component可加可不加。另外spring-boot-configuration-processor依賴可加可不加,具體緣由不詳。微服務
1
2
3
4
5
|
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>
true
</optional>
</dependency>
|
另外須要在應用類或者application類,加EnableConfigurationProperties註解。ui
1
2
3
4
5
6
7
8
9
10
|
@RestController
@EnableConfigurationProperties
({ConfigBean.
class
})
public
class
LucyController {
@Autowired
ConfigBean configBean;
@RequestMapping
(value =
"/lucy"
)
public
String miya(){
return
configBean.getGreeting()+
" >>>>"
+configBean.getName()+
" >>>>"
+ configBean.getUuid()+
" >>>>"
+configBean.getMax();
}
|
啓動工程,訪問localhost:8080/lucy,咱們會發現配置文件信息讀到了。
Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼請加企鵝求求:一零三八七七四六二六