application.yml與bootstrap.yml的區(qū)別
說明:其實yml和properties文件是一樣的原理荔泳,主要是說明application和bootstrap的加載順序。且一個項目上要么yml或者properties,二選一的存在魔眨。
Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)之前加載,就像application.yml一樣,但是用于應(yīng)用程序上下文的引導(dǎo)階段。它通常用于“使用Spring Cloud Config Server時,應(yīng)在bootstrap.yml中指定spring.application.name和spring.cloud.config.server.git.uri”以及一些加密/解密信息瘪撇。技術(shù)上获茬,bootstrap.yml由父Spring ApplicationContext加載。父ApplicationContext被加載到使用application.yml的之前倔既。
例如恕曲,當(dāng)使用Spring Cloud時,通常從服務(wù)器加載“real”配置數(shù)據(jù)渤涌。為了獲取URL(和其他連接配置佩谣,如密碼等),您需要一個較早的或“bootstrap”配置实蓬。因此茸俭,您將配置服務(wù)器屬性放在bootstrap.yml中,該屬性用于加載實際配置數(shù)據(jù)(通常覆蓋application.yml [如果存在]中的內(nèi)容)安皱。
當(dāng)然调鬓,在一些情況上不用那么區(qū)分這兩個文件,你只需要使用application文件即可酌伊,把全部選項都寫在這里腾窝,效果基本是一致的,在不考慮上面的加載順序覆蓋的問題上居砖。
總結(jié):bootstrap.yml 優(yōu)先于 application.yml
注解@EnableDiscoveryClient虹脯,@EnableEurekaClient的區(qū)別
SpringCLoud中的“Discovery Service”有多種實現(xiàn),比如:eureka, consul, zookeeper奏候。
- @EnableDiscoveryClient注解是基于spring-cloud-commons依賴循集,并且在classpath中實現(xiàn);
- @EnableEurekaClient注解是基于spring-cloud-netflix依賴蔗草,只能為eureka作用暇榴;
如果你的classpath中添加了eureka厚棵,則它們的作用是一樣的。
相關(guān)文章:
spring cloud服務(wù)發(fā)現(xiàn)注解之@EnableDiscoveryClient與@EnableEurekaClient
eureka.instance.appname 與 spring.application.name 的區(qū)別
spring.application.name 的優(yōu)先級比 eureka.instance.appname 高
spring:
application:
name: jack
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
instance:
appname: client
兩者都配置的時候蔼紧,注冊到Eureka Server上的 appname 是 jack