|
java自学网只用事实说话,上案例:: f" F5 D/ ^. B+ g
properties方式:7 e5 }0 r# [/ g
application.properties
! x1 b: z ~1 Wspring.profiles.active=prod( ~3 q: u+ S" E( r
; x9 l4 w, k: q; c' U" [; W. I
application-dev.properties
' s& R- |6 z& O1 Z2 E( V1 _server.port=8090
+ n* |- r- O6 K/ d, Z) {/ V" s+ I8 D/ \$ i) t" ]4 N7 }2 v
! |5 a. W, o! Y1 T% P7 A5 f
application-test.properties, O! q! |2 _2 P% Y0 U
server.port=8070" l4 O; y( ^9 k2 E+ _, Z J
+ ?: f5 y& k& E/ N8 a
( F8 v# O& I+ \ ]application-test.properties
8 e3 K8 J) Q' a* o' S& O3 m! a7 x1 Cserver.port=8080
, c6 c. d: b% o( B! C( W
O; R1 P, K# f1 e" k3 a6 u0 r5 @/ {7 O+ ~% g1 V
yml方式:
& E6 E; g' [( B& S; kapplication.yml
x- `7 I X, b3 Fserver:2 o7 w1 D! c3 C+ X1 q1 E3 d& j4 B
display-name: BootCrawler
8 K7 d' O: L! V* G+ y8 q# Uspring:2 Y5 I* S- z0 l
application:: s* ?, h" ?3 Z+ n
name: BootCrawler
3 R; i/ |/ @7 u, m profiles:
" j+ l8 T0 x& ]0 u9 ^- s active: dev
( | L" l m/ g- Q" `# K
- |, d; D% K2 C, m) H+ T- I' |6 A) mapplication-dev.yml
: [2 {: u$ C# Z4 X2 ^% Mserver:7 }- i+ B# v6 ]6 }" V9 l
port: 8090
% t; h9 o4 R& } u) \3 s5 g! A* f L0 l
application-test.yml0 y; `9 o- Y# r) x; @
server:8 _: X! T6 U8 u8 v$ v$ y, N
port: 8090* x; l& Y' Z+ @# i, G* e" Y _
$ n* h9 R0 f% x* V6 ^- Y
application-prod.yml
0 N: E1 v/ ^# @- K; u) r6 ~server:( F- k6 f* { e' R+ [# E
port: 80807 s0 r4 R0 i3 o3 C0 x% C2 f
& d0 F) ~& m- S以上两种方式都是可行的,目前yml的实现方式被使用的比较的广泛,因为他有一定的层次感,并且代码量比较的少。
1 a" N; \8 k: v那么为问题来了,如果两种方式都同时存在的话 spring boot会使用哪一种呢?3 z, C' Y# _8 |6 h. [( \
揭晓答案:properties优先
$ m4 A) e; l: R% ]8 I
: q# W& @8 T5 h) W$ u
( d8 _1 O+ K' O, M" y |
|