六、Spring Cloud之配置中心config,龙湖集团java面试

启动类


在启动类中,我们加入@EnableConfigServer 注解

六、Spring Cloud之配置中心config,龙湖集团java面试

配置文件


在配置文件中我们加入如下配置:

server.port=9008

spring.application.name=config-server

#使用本地属性文件

spring.profiles.active = native

#属性文件地址,只要指定文件夹的路径

spring.cloud.config.server.native.searchLocations=classpath:/properties

这里我们spring.profiles.active = native 表示你从本地加载配置文件,后面我们再从git 上加载配置文件。

如果不配置加载文件的地址,就会从src/main/resources 中加载文件。我这里配置了从properties文件夹下加载,所以在resources 文件夹下创建一个properties 文件夹。我们一eureka-server 服务为例。我们将这个项目的配置放到properties 文件夹下,并改名为

quellanan-eurekaserver.properties

六、Spring Cloud之配置中心config,龙湖集团java面试

客户端配置

====================================================================

好了,上面的服务端就已经配置好了,接下来我们来配置客户端。

pom.xml


在pom.xml 文件中引入config 依赖

org.springframework.cloud

spring-cloud-starter-config

bootstrap.p

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

roperties


在resources 目录下创建一个 bootstrap.properties 文件,至于为什么要是这个而不是application.properties 文件,是由加载机制决定的,加载的时候会先加载bootstrap.properties 文件,然后加载application.properties ,

文件内容如下:

spring.application.name=quellanan

spring.cloud.config.profile=eurekaserver

spring.cloud.config.label=master

spring.cloud.config.uri=http://localhost:9008/

六、Spring Cloud之配置中心config,龙湖集团java面试

在本地也是一样的,spring.application.name和spring.cloud.config.profile拼起来就是文件名称。

测试

=================================================================

好了,服务端和客户端都配置好了,我们现在先将客户端的application.properties 文件删除掉,然后启动这两个项目,先启动config。

六、Spring Cloud之配置中心config,龙湖集团java面试

可以看到eureka-server 成功的从config 中加载到了配置文件并启动了项目。

六、Spring Cloud之配置中心config,龙湖集团java面试

番外

=================================================================

就这样简单的一个配置中心就已经实现了,最后说一个,既然我们有配置中心,那我们按在项目本身的application.properties 写的配置会加载么?答案是会加载的,至于比配置中心先加载还是后加载,我个人偏向于后加载,在application.properties 中写的属性可以覆盖配置中心中的属性。但是建议,依然使用了配置中心,就希望将所有的配置都放到配置中心里面,不要单独的在项目中新增配置,这样会增加管理的成本。

代码上传到github:

https://github.com/QuellanAn/SpringCloud

上一篇:17年1月9日,小程序来了。深度解析2017微信公开课


下一篇:阿里最新Spring Cloud Alibaba 手册,新一代微服务解决方案