|
java自学网只用事实说话,上案例:
4 H0 A3 B/ i( l8 V: w' z7 D4 Rproperties方式:
$ {4 [ }2 {& U* h( Gapplication.properties
" h' R" l7 a/ X {: l2 Hspring.profiles.active=prod
" V( N7 t! |9 C# e: O7 K# k. a' V7 t: B) |( B) R! H- M
application-dev.properties
! d8 h3 A/ O: Cserver.port=80902 K, C; G+ H/ u2 u
3 L6 g' m0 L& j# W+ M9 p
/ c0 Q0 A. t- I; h: Y& K. k$ Oapplication-test.properties
& l4 L1 Y& o7 y/ S( hserver.port=8070
B4 I; `+ q# R/ a7 y
1 v, `& f: n/ Q8 p. H$ H8 ^+ e. _* o6 W
7 d4 t+ j( T/ }. }, l' Gapplication-test.properties& l, s0 b H5 _7 v! T
server.port=8080
7 t4 V, t& p* d2 N1 H, q, i* @$ v% l) u% U/ x; O
) y2 @9 d, v$ R* q+ Jyml方式:- e M6 l$ \" _
application.yml
& ^& ]) g$ K# x kserver:
" [$ ~! l& \* h1 R: d4 [ display-name: BootCrawler9 v; `/ s: {6 t. |, k6 g7 g! ?
spring:" G, w9 v6 ?( ?- {$ E
application:
! @, m: h+ ]" f; Z: R6 E7 H3 e name: BootCrawler8 @- ?/ e/ R9 t6 Q
profiles:
3 V$ t- g" j( s3 v active: dev
! a. C2 T& C3 P1 u9 w7 \- F/ p
/ ]% V7 w& q1 c/ V! U5 E( Q0 _! Eapplication-dev.yml
" T7 q% z8 C9 l% j$ b" ]server:
$ m' b% F+ D6 B2 l port: 80900 A5 V% o6 ~4 q0 c2 C, @, L
1 y. G/ m1 E" l) j8 {3 i
application-test.yml
' s6 O/ X- O, J. qserver:1 ~0 P( J. G! e! S% j a
port: 8090$ H0 `4 c1 M( m( q# ` `0 g, i
6 _7 {! f3 k0 S L4 e8 _application-prod.yml
2 j1 ]6 O7 j, Zserver:
1 z5 @! Q, ? i" q b! n port: 8080
7 k* X# a9 H; j8 N/ w5 s
; [/ k0 z' n- h! Q; U O以上两种方式都是可行的,目前yml的实现方式被使用的比较的广泛,因为他有一定的层次感,并且代码量比较的少。
* p6 M# X1 d$ A8 a+ M. i$ h那么为问题来了,如果两种方式都同时存在的话 spring boot会使用哪一种呢?9 ~6 G2 R: Q, ]
揭晓答案:properties优先% {, V: q) W* q4 S% n# i. Y: S
9 T6 `# C1 @$ [8 v$ t0 _& ~2 g
! U$ E9 @5 z% n4 w* m |
|