创建工程study_config测试nacos配置中心

创建工程

参见:
https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_config

添加依赖

修改pom.xml文件

<dependencies>
    <!-- openfeign依赖 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!-- springboot依赖,不写版本号表示继承父工程 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- springboot依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!-- mybatis与springboot的整合 -->
    <!--        <dependency>-->
    <!--            <groupId>org.mybatis.spring.boot</groupId>-->
    <!--            <artifactId>mybatis-spring-boot-starter</artifactId>-->
    <!--        </dependency>-->
    <!--        <dependency>-->
    <!--            <groupId>com.alibaba</groupId>-->
    <!--            <artifactId>druid-spring-boot-starter</artifactId>-->
    <!--        </dependency>-->
    <!--mysql-connector-java-->
    <!--        <dependency>-->
    <!--            <groupId>mysql</groupId>-->
    <!--            <artifactId>mysql-connector-java</artifactId>-->
    <!--        </dependency>-->
    <!--jdbc-->
    <!--        <dependency>-->
    <!--            <groupId>org.springframework.boot</groupId>-->
    <!--            <artifactId>spring-boot-starter-jdbc</artifactId>-->
    <!--        </dependency>-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

添加 bootstrap.yml 配置文件

注意: 当从nacos配置中心拉取配置时,要用 bootstrap.yml 配置文件,参见:
https://www.malaoshi.top/show_1EF5lbJAdbGe.html

在 resources 文件夹创建bootstrap.yml配置文件


server:
  port: 9100


spring:
  application:
    name: study-config
  cloud:
    nacos:
      discovery:   # 注册
        server-addr: 106.13.165.100:8848

      config:   # 配置中心
        server-addr: 106.13.165.100:8848
        file-extension: yml

  profiles:
    active: dev   # 拉取dev配置文件

注意:

  • name: study-config不能改变,与Data ID相关,原因会在后面讲
  • active: dev不能改变,与Data ID相关,原因会在后面讲

创建主启动类

package top.malaoshi;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class ConfigMain {
    public static void main(String[] args) {
        SpringApplication.run(ConfigMain.class,args);
    }
}

测试controller

package top.malaoshi.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope //支持Nacos的动态刷新功能
public class TestCtrl {

    @Value("${db.name}")
    private String name;

    @Value("${db.pwd}")
    private String pwd;

    @GetMapping("/test")
    public String test(){
        return name+"--"+pwd;
    }

}
解释
  • @Value("${db.name}"):从nacos获取的配置

  • @Value("${db.pwd}"):从nacos获取的配置

自动更新 @RefreshScope

@RefreshScope:支持Nacos的动态刷新功能

nacos添加配置

第一步:

第二步:

注意: 这里的 Data ID不能改变,与上面study-config和dev相关,原因会在后面讲

点击【发布】,如下图:

测试

访问 http://localhost:9100/test 可以在网页上看到 信息,该信息是从nacos拉取下来的


原文出处:/show_1EF5ld8WvUVp.html