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-service
  cloud:
    consul:
      port: 8500
      host: 127.0.0.1 
      config:
        enabled: true
        prefix: config
        default-context: your-service
        data-key: data
        format: yaml
        watch:
          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配置的端口 

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐