- 使用配置中心可以动态的修改配置,让客户端可以在启动的时候从仓库获取最新的配置文件,也可以在程序运行中及时刷新配置,先加入maven依赖,一般情况配置中心会与注册中心配合使用,在客户端可以动态路由配置中心服务,而不需要写绝对Url地址,所以也加入了注册中心客户端依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
为了安全起见配置中心还需要加入安全认证依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
2.新建配置中心启动类
@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
3.配置中心application.yml
server:
port: 8002
spring:
application:
name: config-server
profiles:
active:
- native
- subversion
- dev
4.配置中心开发环境application-dev.yml
eureka:
instance:
hostname: ${spring.cloud.client.ip-address}
instance-id: ${eureka.instance.hostname}:${server.port}
prefer-ip-address: true
client:
service-url:
defaultZone: http://root:zxy2019@192.168.2.90:8001/eureka/ #注册中心地址
spring:
cloud:
config:
server:
svn:
uri: 你的配置仓库url地址
username: 仓库用户名
password: 仓库密码
security: #安全认证
user:
password: 123456
name: root
5.调用配置中心的服务,加入maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
6.配置文件
spring:
cloud:
config:
discovery:
enabled: true
service-id: config-server
name: mysql #仓库中的文件格式mysql-dev.yml
label: ${spring.application.name}
profile: dev
username: root
password: 123456