一、Config简介
SpringCloud Config提供服务器端和客户端。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。
这个是静态的,得配合Spring Cloud Bus实现动态的配置更新。
二、Maven依赖
<!-- 系统配置管理中心服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
三、application.properties配置(Spring Cloud Config服务端)
# 配置中心端口号
server.port=8888
#注册中心
eureka.register.port=8761
eureka.register.host=localhost
# 配置中心实例的主机名
spring.application.name=config-server
# 显示IP
eureka.instance.preferIpAddress=true
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
# 注册中心地址
eureka.client.serviceUrl.defaultZone=http://${eureka.register.host}:${eureka.register.port}/eureka/
# 启用本地配置
spring.profiles.active=native
# 配置文件路径
spring.cloud.config.server.native.search-locations=classpath:/config-repo
默认情况下,Spring Cloud Config Server将配置数据存储在Git存储库中。
这在生产模式下是非常好的选择,但对于开发模式文件系统就足够了。我们可以将所有属性放在类路径中。Spring Cloud Config默认搜索以下位置内的属性源:classpath:/, classpath:/config, file:./, file:./config。
我们将所有的配置放在src/main/resources/config目录。YAML文件名一定要与服务名称相同。例如,发现服务的YAML文件将位于此处:src/main/resources/config/discovery-service.yml。
如果您想使用文件系统,启动配置服务器,则可以激活Spring Boot配置本地文件。可以通过–spring.profiles.active=native在应用程序引导期间设置参数来实现。
我还通过在文件中设置属性将默认配置服务器端口(8888)更改为8061。
四、启动类添加注解
在启动类加上@EnableConfigServer注解
@SpringBootApplication
@EnableConfigServer
public class ConfigApplication
{
public static void main( String[] args )
{
SpringApplication.run(ConfigApplication.class, args);
}
}
五、application.properties配置(Spring Cloud Config客户端)
- Maven依赖
<!--配置文件客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
- 配置bootstrap.properties
#读取配置中心信息
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.name=user-service
spring.cloud.config.profile=${config.profile:dev}