nacos注册中心和配置中心

无人久伴 提交于 2021-02-17 21:49:06

pom:

<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery  注册中心依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery  配置中心依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>

 

注册配置:bootstrap.properties  需要三个键值,端口、项目名、nacos地址+端口

server.port=8080
spring.application.name=model1
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

 

启动类注解:@EnableDiscoveryClient

启动项目访问链接:http://127.0.0.1:8848/nacos/   账号密码默认都是nacos

进来之后:

服务管理==>服务列表就可以看见注入成功的项目

 

注册中心配置:必须是bootstrap.properties文件

1.在新建一组命名空间,别忘记填写他的group

查看配置列表就能看见新建的命名空间

 

2.添加配置文件  在填写配置文件的时候会选择文件类型,对应着项目配置文件类型

3.配置文件:bootstrap.properties

spring.cloud.nacos.config.server-addr=127.0.0.1:8848   #配置nacos地址
spring.cloud.nacos.config.namespace=686545c5-7c21-4160-9cd2-2bd81c923611    #对应配置列表的命名空间

spring.cloud.nacos.config.ext-config[0].data-id=nacos-config-client-dev.properties  #命名空间下的 Data Id  也就是naocs创建的文件名称
spring.cloud.nacos.config.ext-config[0].group=dev   #文件对应的group
spring.cloud.nacos.config.ext-config[0].refresh=true  #更改nacos能实时获取到配置

4.controller

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

@RestController
@RequestMapping("/model1")
@RefreshScope  //刷新动态配置
public class Hello {

    @Value(value = "${user.id}")  //naocs配置的键
    private String userId;

    @Value(value = "${user.info}")//naocs配置的键
    private String userName;

    @RequestMapping("/helloInfo")
    public String hello() {

        return userId + "                   " + userName;
    }

}

 

5.访问:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!