之前写的项目配置文件都是在本项目中,最近在看《Spring Cloud微服务实战》一书就想试着学着书中的技术实现一下——spring cloud config分布式配置中心。
插入别人写好的一段话:Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以为所有环境中的应用程序管理其外部属性。它非常适合spring应用,也可以使用在其他语言的应用上。随着应用程序通过从开发到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。
开始了。
第一步:项目添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
第二步:编写bootstrap.yml
spring:
cloud:
config:
name: childdream-service
profile: dev
discovery:
service-id: config-server
enabled: true
main:
allow-bean-definition-overriding: true
eureka:
client:
service-url:
defaultZone: http://eureka.didispace.com/eureka/
第三步:删除本地application.properties文件
最早的时候我也是这样做的,但是改造之后项目就是没法启动,查看日志看到这样一句:
导致项目始终没法启动,只好在bootstrap.yml文件中添加spring.main.allow-bean-definition-overriding=true。过段时间再仔细检查一下配置文件,看看这个配置能否去掉。