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

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

1.成功注册到nacos
2.nacos不同环境下的配置文件读取
3.测试配置文件更新

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

命名空间配置

登录nacos
创建命名空间


image.png

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

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


image.png

点击加+创建一个配置

文件命名规则
 ${spring.application.name}-${spring.profiles.active}-${spring.cloud.nacos.config.file-extension}
image.png
注册服务

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


image.png
       
            org.springframework.boot
            spring-boot-starter-web
        
        
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        

        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
@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

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

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



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


image.png
注意点

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

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

待更新...

你可能感兴趣的:(Nacos使用一(服务注册,配置中心))