Nacos做全局配置

Nacos 启动

bin 目录下启动
sh startup.sh -m standalone

Nacos 增加配置

在这里插入图片描述
info:rentao

项目集成

  • 引入依赖
<dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.2</version>
        </dependency>
  • 项目使用
import com.alibaba.nacos.api.config.annotation.NacosValue;
import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


@NacosPropertySource(dataId = "example",groupId = "DEFAULT_GROUP",autoRefreshed = true)
@RestController
public class NacosConfigController {
    
    

    /**
     * 当前的info这个属性,回去nacos-server找到对应的info这个属性
     * 高可用性
     * hello Nacos表示本地属性(降级属性)
     */
    @NacosValue(value = "${info:hello xxx}",autoRefreshed = true)
    private String info;

    @GetMapping("/get")
    public String get(){
    
    
        return info;
    }

}
  • 引入依赖
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.1.1</version>
</dependency>
  • 项目使用
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;
import com.alibaba.nacos.api.exception.NacosException;

import java.util.Properties;
import java.util.concurrent.Executor;

public class NacosSdkDemo {
    
    

    public static void main(String[] args) {
    
    
        //连接到目标服务的地址
        //指定dataid、 groupid
        String serverAddr="localhost:8848";
        String dataId="example";
        String groupId="DEFAULT_GROUP";
        Properties properties=new Properties();
        properties.put("serverAddr",serverAddr);
        try {
    
    
            //ConfigService-> NacosConfigService
            ConfigService configService=NacosFactory.createConfigService(properties);
            String content=configService.getConfig(dataId,groupId,3000);
            System.out.println(content);
            configService.addListener(dataId, groupId, new Listener() {
    
    
                @Override
                public Executor getExecutor() {
    
    
                    return null;
                }
                @Override
                public void receiveConfigInfo(String configInfo) {
    
    
                    System.out.println("configInfo:"+configInfo);
                }
            });
        } catch (NacosException e) {
    
    
            e.printStackTrace();
        }

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44971379/article/details/120617133