1. 建立工程
可以通过start.spring.io创建,dependencies要选择ConfigServer
2. pom.xml,确认有以下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
3. 主类中确认有EnableConfigServer注解
@SpringBootApplication
@EnableConfigServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4. 远程配置文件上传到github,可以用properties或者yml
5. application.properties中配置仓库地址
spring.cloud.config.server.git.uri=https://github.com/lbscut/ConfigForSpringCloud
6. 其余可能的配置
#服务端口,默认为8080
server.port=8091
#服务名称
spring.application.name=configServer
#配置文件所在的目录
spring.cloud.config.server.git.search-paths=/**
#配置文件所在的分支
spring.cloud.config.label=master
#git仓库的用户名,开源仓库可以不需要
spring.cloud.config.username=4312
#git仓库的密码
spring.cloud.config.password=****
7. 启动configServer
8. 通过http测试访问
http://localhost:8080/lblService/prod
返回结果如下:
其中source为要获取的配置文件的内容
9. 修改github仓库中的配置文件,不重启configServer,重新发起http请求
实践发现会获取到新的值
10. 仓库中同时建立lblService-dev.properties和lblService-dev.yml文件,重新发起http请求
实践发现propertiesSources数组会有两个值,分别对应两个文件,可以通过name区分
demo源码:https://github.com/lbscut/SpringCloudConfigServer.git