Nacos入门过程的坑--获取不到配置的值问题

Nacos获取不到配置的值

namespace设计真实一个奇特的东西。用spring-cloud-starter-alibaba-nacos-config测试的时候,JAVA代码里设置namespace必须使用那一串类似UUID的值,直接写英文名称一直获取不到值(public namespace除外),这个问题折腾了我好几天;网上的资料要么是写的不全,要么是胡编乱造;

真不知道这种设计意欲何为

本地nacos

Nacos入门过程的坑--获取不到配置的值问题_第1张图片

JAVA代码

启动类:

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

Controller类

@RestController
@RefreshScope
public class NacosController { 
 
    @Value("${uu:}")
    private String name;
 
    @GetMapping("/hello")
    public String info(){
        // System.out.println(name);
        return name;
    }
}
 

application.yaml

server:
  port: 10086
  servlet:
    context-path: /nacosdemo
 

bootstrap.yaml

spring:
  application:
    name: demo
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        namespace: 0519e084-652c-4b86-a43c-d2de2041ff28
        group: DEFAULT_GROUP
        file-extension: yaml
 

pom



    
        code-demoparent
        com.uu
        1.0.0
    
    4.0.0
    nacosdemo
 
    
        
            org.springframework.boot
            spring-boot-starter-web
        
 
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-config
        
    
 
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR1
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-alibaba-dependencies
                0.2.1.RELEASE
                pom
                import
            
        
    
 

父pom

 

    4.0.0
 
    com.uu
    code-demoparent
    pom
    1.0.0
    
        nacosdemo
        loader
        nacosclient
        
    
 
    code-demoparent
    
    http://www.example.com
 
    
        UTF-8
        1.7
        1.7
    
 
    
        
            junit
            junit
            4.11
            test
        
     
 
    
        
 
            
            
                org.springframework.boot
                spring-boot-dependencies
                2.3.0.RELEASE
                pom
                import
            
 
            
        
    

Nacos配置文件,通过@Value() 获取时失败了

在nacos中配置的是这样的

verify:
    qr_url: xxxxxxxx

但是在Controller中取值取不到

@Value("verify.qr_url")
privite String url;

震惊!取不到值!

为啥呢?难道是用的nacos的原因,百度一下,还是没办法解决,那我试试拿其他配置,结果,拿到了!

那就可以断定,不是nacos的原因,那是啥原因呢

是我的命名不规范吗?我改下吧

verify-url: xxxxxx

拿到了!

ok,解决了,就是我命名不规范,说不定人家naocs不认你这个,问我为啥这么确定是nacos不认,因为我直接写在本地application.yml里是可以读取到的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Nacos入门过程的坑--获取不到配置的值问题)