|
java自学网只用事实说话,上案例:
! n8 j7 F; i9 |. q. gproperties方式:
" p" }( u/ P5 U6 Y( uapplication.properties7 X+ o/ K6 E0 m7 M4 M) B* V
spring.profiles.active=prod% W! r! p; c, D7 u% a8 F' g
( e6 D0 w( q6 Q- G% D& d7 @
application-dev.properties
6 `) U7 d& a" r4 o3 _# a8 kserver.port=8090
% H u6 l' U3 I% ^& Y: C0 T$ K
: G! {2 O. l# q4 u. w; H5 T3 }, T% T" v+ R
application-test.properties
* g4 `4 |1 E- j$ jserver.port=8070
8 m5 @1 N+ u$ }% m" J. I9 O, z6 L! p6 ?8 R- v; l. {
& ]% X* u0 J. Y2 I8 z; rapplication-test.properties5 m% Y( H. {* A; u+ C) D3 n: K: H+ H
server.port=8080, L$ ~; {; i, o( R1 ^
2 Z0 [" I) U# a; r3 I6 N4 Q1 j* A
7 g! g6 v8 t8 E- S" y# }yml方式:9 Y3 Y! k0 F5 P# T/ i* c# D6 T
application.yml
5 y' w- ?9 F# p! S9 Oserver:" a# D* }% v. L# V) a
display-name: BootCrawler& Y1 B ]) K( I+ q( I7 W+ b c
spring:/ V2 i" E w7 ~% Y; O# u
application:; `4 n J8 ?2 O, ~# @4 \0 R3 c
name: BootCrawler7 ?- y8 |3 P( w4 b, l8 @: Z) z- M
profiles:
1 l( a5 d5 z; C6 c active: dev
1 K0 L) G0 n3 l9 W: w/ ~$ R0 W o
) v$ y2 o! Q9 V+ [& Japplication-dev.yml+ B$ W8 x( n, n
server:' |: c6 L- o- t# T5 @
port: 80907 Z9 O; {' D4 f0 G. h; |8 u
1 b, D, L* U: v- ~application-test.yml, o0 X+ \$ v. [8 x) z& q) `
server:2 W; H4 V6 h& v$ l. w" }& ~
port: 8090; U, M' J2 b e9 R% X$ N# T( @" r
8 U. d) r) }( Gapplication-prod.yml
0 }+ f; F' Y. X8 n+ @server:8 G: N0 V4 r- \4 W" a$ v
port: 80801 P1 b* {. B( h' Q. A5 i7 L
( a. p8 j# ^6 V- i5 ?! B
以上两种方式都是可行的,目前yml的实现方式被使用的比较的广泛,因为他有一定的层次感,并且代码量比较的少。: @0 W8 C0 f+ k& J4 A0 l
那么为问题来了,如果两种方式都同时存在的话 spring boot会使用哪一种呢?- x2 P2 a9 Z1 Y' C* D
揭晓答案:properties优先# H! j( o0 w5 O; W* o) z& j3 Y
# r9 `0 j# E8 |8 Z7 ]+ i
; U2 M/ s( A( H( F$ \
|
|