在启动类中,我们加入@EnableConfigServer 注解
在配置文件中我们加入如下配置:
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
====================================================================
好了,上面的服务端就已经配置好了,接下来我们来配置客户端。
在pom.xml 文件中引入config 依赖
org.springframework.cloud
spring-cloud-starter-config
《一线大厂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.application.name和spring.cloud.config.profile拼起来就是文件名称。
=================================================================
好了,服务端和客户端都配置好了,我们现在先将客户端的application.properties 文件删除掉,然后启动这两个项目,先启动config。
可以看到eureka-server 成功的从config 中加载到了配置文件并启动了项目。
=================================================================
就这样简单的一个配置中心就已经实现了,最后说一个,既然我们有配置中心,那我们按在项目本身的application.properties 写的配置会加载么?答案是会加载的,至于比配置中心先加载还是后加载,我个人偏向于后加载,在application.properties 中写的属性可以覆盖配置中心中的属性。但是建议,依然使用了配置中心,就希望将所有的配置都放到配置中心里面,不要单独的在项目中新增配置,这样会增加管理的成本。
代码上传到github:
https://github.com/QuellanAn/SpringCloud