springboot在2.4以后版本使用application.yml替换bootstrap.yml

首先确认你的springboot版本是高于2.4的版本的,然后移除以下依赖

<!--    <dependency>-->
<!--      <groupId>org.springframework.cloud</groupId>-->
<!--      <artifactId>spring-cloud-starter-bootstrap</artifactId>-->
<!--    </dependency>-->

  配置中心需要的依赖

<dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>

  springboot版本2.5.15

 <springcloud.version>2021.0.5</springcloud.version>
 <alibaba.version>2021.0.5.0</alibaba.version>

  

 <!--spring cloud依赖管理,引入了Spring Cloud的版本-->
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${springcloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--SCA -->
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>${alibaba.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

  配置文件

spring:
  config:
    import: "optional:nacos:${spring.application.name}-${spring.profiles.active}.yml"

启动成功,自动刷新也具备

很关键的就是sprinboot和springcloud,alibaba之前的版本匹配,很多时候配置没有读取就是这个原因

下面给出使用过的匹配版本

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
        <springcloud.version>2021.0.5</springcloud.version>
        <alibaba.version>2021.0.5.0</alibaba.version>
    </properties>

  如果能用的properties格式,请看

spring.config.import=optional:nacos:${spring.application.name}-${spring.profiles.active}.properties

  

 

posted @ 2024-05-06 17:15  不忘初心2021  阅读(40)  评论(0编辑  收藏  举报