在使用如下方法时,请提前了解 spring cloud config 基础知识
官网地址 https://www.springcloud.cc/spring-cloud-config.html#_encryption_and_decryption
一、创建基础环境
-
创建maven项目,主要存储管理多个项目的配置文件,如图目录结构如下
-
在master 分支下,提交到码云,如图
二、创建spring-cloud-config-server maven项目,并添加config-server模块
-
创建模块时,勾选web、Config Server
-
项目目录结构如下
pom.xml 部分代码如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
application.yml
spring:
application:
name: spring-cloud-config-repo
cloud:
config:
server:
git:
uri: https://gitee.com/fengrz/spring-cloud-config-repo
username:
password:
search-paths: '{profile}'
server:
port: 8900
logging:
level:
org.springframework.boot: debug
org.springframework.cloud: debug
- uri: https://gitee.com/fengrz/spring-cloud-config-repo 指的是资源库的地址
- search-paths: ‘{profile}’ 这里要注意{profile}外面一定要加单引号
- username 如果是私有库是需要填写的
- password 如果是私有库是需要填写的
- logging 配置好可以查看一些日志
ConfigServerApplication.java
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
- 启动类中要加入 @EnableConfigServer
- 配置完成可以尝试启动 ConfigServerApplication,启动正常
三、在需要使用配置服务中心的项目中增加如下配置
- pom.xml 文件中增加依赖关系
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
- bootstrap.properties
在项目的resources创建该文件,名称不允许修改
#对应着config server所获取配置文件的{application}和URL
spring.application.name=eurekaserver
spring.cloud.config.uri=http://localhost:8900/
spring.cloud.config.name=enrekaserver-test
#对应着文件后面的后缀{profile}
spring.cloud.config.profile=enreka-server-config
#分支
spring.cloud.config.label=master
- spring.cloud.config.uri 指的是spring-cloud-config-server端的访问地址
- spring.cloud.config.name
enrekaserver-test 是配置文件的名称,如需要加载多个文件需要使用逗号隔开
- spring.cloud.config.profile
指的是 enreka-server-config 目录,匹配 search-paths: ‘{profile}’ 中的profile
这个属性非常重要,在不同项目中配置不同的目录
- spring.cloud.config.label=master 指的是git master 分支
- 尝试运行 EurekaServerApplication
启动成功
- 按照相同方法在其他项目中尝试使用spring-cloud-config-server 加载配置文件,启动成功