|
java自学网只用事实说话,上案例:& O. E) C* ?$ d3 u6 V
properties方式:& H8 d" m2 \1 g; v* ~8 C
application.properties
* a v' e1 R: T$ Mspring.profiles.active=prod
2 O1 Y A1 i7 z1 Y9 X2 k) t, |& q) k4 N5 h
application-dev.properties- i% r% |/ v; C0 j0 y+ G5 r- M
server.port=8090
# l% }8 |) h# } Y9 V: X- A1 T" q) _6 Y. f6 G* E, B/ }& ^
4 F- l6 v( T# g- `! p5 Lapplication-test.properties
2 u- `* c) ^) }2 pserver.port=80707 {: I6 c: _8 Z3 G' J
. U) E0 E4 L7 X, f7 \/ l4 P5 v
) Y1 |' E7 N" y' R: iapplication-test.properties
$ l# L# O/ ` B/ H. E. mserver.port=8080
8 {" \3 r7 K) X$ X/ g3 O& q( q8 L: L
3 J2 q- ]3 `/ U$ w) `
yml方式:, l N8 e% }8 ]5 n1 X% ?7 @
application.yml
& Z' P9 X* H: B! M* Z. u% V- [server:
C9 E! n2 P- e+ F( K3 z; `' d' w display-name: BootCrawler
# G2 |; j% @1 P! E( \9 Zspring:0 B- n5 W m; J8 j0 s" o" |
application:
3 M$ ]2 T- }7 J name: BootCrawler
6 q( D# w2 R5 Z profiles:) g8 I% M$ G+ g4 g) U% V
active: dev" U, Y$ E- @6 V( k! L# ?
' V; `3 T5 H0 L
application-dev.yml
6 D& ]. g4 H- Y: r/ F) p; g1 l& vserver:
" V- }0 ?( M/ ~( ^. q/ ], h# J# N port: 8090
$ q: Q4 Y9 C$ ]6 y6 K6 K W/ N1 j9 C/ D5 G: C8 c* E2 u& }
application-test.yml7 p0 b! f5 ?/ f5 _, J
server:- r) p" B8 r: y, v7 Y& [, o
port: 8090
" ^( K6 H& C* i q4 p4 c
7 i9 g+ V% w. R; }) z" Y: H' zapplication-prod.yml
# J& c5 F% I8 r# {server:9 h7 O4 ^3 ~) {3 L X6 X2 I
port: 8080
$ {% I. L3 n' a7 e: A( ?( f; [) k. j" W* F V F. o2 H( e; o
以上两种方式都是可行的,目前yml的实现方式被使用的比较的广泛,因为他有一定的层次感,并且代码量比较的少。
+ x2 _7 c% o' K那么为问题来了,如果两种方式都同时存在的话 spring boot会使用哪一种呢?
( B( v3 y( o4 [. u. z揭晓答案:properties优先: h: R" a4 _9 E# s* s" ~
2 ^: h+ P; o& V( h$ T9 f! d
7 n y: l. x; G/ g! ]6 ^4 \$ g |
|