0
点赞
收藏
分享

微信扫一扫

Nacos使用一(服务注册,配置中心)

扒皮狼 2021-09-21 阅读 141

本条笔记主要实现两个功能点

nacos安装步骤参考 https://www.jianshu.com/p/33d96bc795c9

命名空间配置

登录nacos
创建命名空间



测试创建了3个空间 分别是 dev test pro 当然你可以更加自己的业务自由创建

创建完毕后点击配置管理-配置列表 ,增加了3个命名空间,点击dev,会显示命名空间id
8a1f90e0-2c31-4bd0-a096-7a78c3591f70 (下面会用的上)


点击加+创建一个配置

文件命名规则
 ${spring.application.name}-${spring.profiles.active}-${spring.cloud.nacos.config.file-extension}

注册服务

创建SpringBoot项目 引入以下依赖 项目结构


       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <!-- nacos 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <!-- nacos 发现服务 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
@EnableDiscoveryClient  //启用发现客户端
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

配置 bootstrap-dev.yml

spring:
  application:
    name: nacos-demo #服务名称
  cloud:
    nacos:
      discovery:
        server-addr: http://127.0.0.1.86:8841 #nacos注册地址
        group: DEFAULT_GROUP  #注册组 (服务组管理,不强制)
      config:
        server-addr: http://127.0.0.1:8841 #nacos注册地址
        file-extension: yaml #配置文件后缀支持 txt json yam xml html Properties 格式 大家更加喜欢来
        namespace: 8a1f90e0-2c31-4bd0-a096-7a78c3591f70 #命名空间ID  不配置 默认 public
        group: DEFAULT_GROUP # 分组 (配置组管理,不强制)
  profiles:
    active: dev
server:
  port: 8789
  

定义实体UserModel

@Value("${member.name}")
private String name;
@Value("${member.age}")
private String age;
@Value("${member.address}")
private String address;
@EnableDiscoveryClient
@SpringBootApplication
public class DemoApplication {

    @RefreshScope //热加载
    @Bean    //注入
    public UserModel userModel() {
        return new UserModel();
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

测试
@RestController
public class Controller {
    @Autowired
    private UserModel userModel;
    @GetMapping("test")
    public String test(){
        return "用户:"+userModel.getName()+" age:"+userModel.getAge()+" \n地址:"+userModel.getAddress();
    }
}

访问



[图片上传中...(image.png-87d835-1587373267170-0)]

成功从nacos中读取
接下去尝试下 热更新,我们修改 nacos配置文件 将 age 改为2012



此时看控制台有日志输出
然后再次刷新网页 发现参数已更新


注意点

配置文件名称必须按照规范填写,必须严格遵守

 ${spring.application.name}-${spring.profiles.active}-${spring.cloud.nacos.config.file-extension}

待更新...

举报

相关推荐

0 条评论