Springboot从consul中获取配置
Springboot项目如何实现一启动就读取consul配置的信息如数据库连接。
以下是实现步骤:(Springboot版本是 2.2.5.RELEASE)
1、引入依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><version>${spring-boot.version}</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId><version>${spring-boot.version}</version></dependency>
2、新增 bootstrap.yml ,springboot版本低于3.3是优先读取bootstrap.yml的配置的
spring:application:name: your-servicecloud:consul:port: 8500host: 127.0.0.1 config:enabled: trueprefix: configdefault-context: your-servicedata-key: dataformat: yamlwatch:enabled: false #是否开启监听waitTime: 1 #检查consul文件的事件间隔discovery:service-name: ${spring.application.name}instance-id: ${spring.application.name}-${server.port}health-check-path: /actuator/health
3、在http://127.0.0.1:8500页面的 key/value 新建文件夹 /config/your-service/
然后再建一个名叫data的key,设置yaml配置
如:
server:port: 8081
4、在启动类上面增加注解 @EnableDiscoveryClient
启动后可以验证下启动端口是不是consul配置的端口