SpringCloud教程 | 第十篇: 读取Nacos的配置

1、引入依赖

<dependency>
      <groupId>com.alibaba.boot</groupId>
      <artifactId>nacos-config-spring-boot-starter</artifactId>
      <version>0.2.7</version>
    </dependency>

2、在启动类加上

@NacosPropertySource(dataId="nacos-config-example",groupId="DEFAULT_GROUP",autoRefreshed=true,type= ConfigType.YAML)

3、查看nacos配置

4、启动该服务,报了一个错,但是服务正常启动了

2024-07-16 15:58:04.870 INFO  [main] com.alibaba.nacos.client.config.impl.Limiter.<clinit>:61 : limitTime:5.0
2024-07-16 15:58:04.884 ERROR [main] com.alibaba.nacos.client.config.impl.ClientWorker.queryConfig:976 : [fixed-127.0.0.1_8848] [sub-server-error]  dataId=nacos-config-example, group=DEFAULT_GROUP, tenant=, code=Response{resultCode=500, errorCode=403, message='user not found!', requestId='null'}
2024-07-16 15:58:04.885 ERROR [main] com.alibaba.nacos.spring.util.NacosUtils.getContent:338 : Can't get content from dataId : nacos-config-example , groupId : DEFAULT_GROUP
com.alibaba.nacos.api.exception.NacosException: http error, code=403,msg=user not found!,dataId=nacos-config-example,group=DEFAULT_GROUP,tenant=
	at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.queryConfig(ClientWorker.java:979)
	at com.alibaba.nacos.client.config.impl.ClientWorker.getServerConfig(ClientWorker.java:396)
	at com.alibaba.nacos.client.config.NacosConfigService.getConfigInner(NacosConfigService.java:166)
	at com.alibaba.nacos.client.config.NacosConfigService.getConfig(NacosConfigService.java:94)
	at com.alibaba.nacos.spring.context.event.config.EventPublishingConfigService.getConfig(EventPublishingConfigService.java:60)
	at com.alibaba.nacos.spring.util.NacosUtils.getContent(NacosUtils.java:334)
	at com.alibaba.nacos.spring.util.config.NacosConfigLoader.load(NacosConfigLoader.java:92)
	at com.alibaba.nacos.spring.core.env.AbstractNacosPropertySourceBuilder.doBuild(AbstractNacosPropertySourceBuilder.java:181)
	at com.alibaba.nacos.spring.core.env.AbstractNacosPropertySourceBuilder.build(AbstractNacosPropertySourceBuilder.java:118)
	at com.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessor.buildNacosPropertySources(NacosPropertySourcePostProcessor.java:151)
	at com.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessor.processPropertySource(NacosPropertySourcePostProcessor.java:133)
	at com.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessor.postProcessBeanFactory(NacosPropertySourcePostProcessor.java:118)
	at com.alibaba.nacos.spring.util.NacosBeanUtils.invokeNacosPropertySourcePostProcessor(NacosBeanUtils.java:416)
	at com.alibaba.nacos.spring.context.annotation.config.NacosConfigBeanDefinitionRegistrar.registerBeanDefinitions(NacosConfigBeanDefinitionRegistrar.java:73)
	at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86)
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:384)
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:383)
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148)
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:332)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:237)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:755)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:402)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1247)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1236)
	at org.example.NacosTestApplication.main(NacosTestApplication.java:26)
2024-07-16 15:58:04.886 WARN  [main] c.a.n.spring.core.env.AnnotationNacosPropertySourceBuilder.doBuild:185 : There is no content for NacosPropertySource from dataId[nacos-config-example] , groupId[DEFAULT_GROUP] , properties[{accessKey=${nacos.access-key:}, clusterName=${nacos.cluster-name:}, configLongPollTimeout=${nacos.configLongPollTimeout:}, configRetryTime=${nacos.configRetryTime:}, contextPath=${nacos.context-path:}, enableRemoteSyncConfig=${nacos.enableRemoteSyncConfig:}, encode=${nacos.encode:UTF-8}, endpoint=${nacos.endpoint:}, maxRetry=${nacos.maxRetry:}, namespace=${nacos.namespace:}, password=${nacos.password:}, secretKey=${nacos.secret-key:}, serverAddr=${nacos.server-addr:}, username=${nacos.username:}}].
2024-07-16 15:58:04.891 INFO  [main] com.alibaba.nacos.client.config.impl.CacheData.<clinit>:65 : nacos.cache.data.init.snapshot = true

5、接口层代码如下:

package org.example.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
@RefreshScope //加了这个注解之后,@value注解才可以实时的获取配置中心的数据
public class TestController {
    @Value("${key:dd}")
    private String config;

    @RequestMapping("/getconfig")
    public String getMyconfig() {
        return config;
    }
}

6、访问http://localhost:18080/getconfig

没有读到nacos中的配置

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 02:28:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 02:28:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 02:28:04       62 阅读
  4. Python语言-面向对象

    2024-07-17 02:28:04       72 阅读

热门阅读

  1. LeetCode 算法:组合总和 c++

    2024-07-17 02:28:04       23 阅读
  2. Linux 工作队列(Workqueue):概念与实现

    2024-07-17 02:28:04       26 阅读
  3. P1179 [NOIP2010 普及组] 数字统计【进制】

    2024-07-17 02:28:04       23 阅读
  4. PHP基础认知

    2024-07-17 02:28:04       23 阅读
  5. 探索Eureka的高级用法:在服务中实现分布式锁

    2024-07-17 02:28:04       21 阅读
  6. Rust编程-函数式编程

    2024-07-17 02:28:04       25 阅读
  7. 前端打包部署后源码安全问题总结

    2024-07-17 02:28:04       25 阅读
  8. 前端实现调用ChatGPT

    2024-07-17 02:28:04       24 阅读
  9. 萝卜快跑的「悖论」

    2024-07-17 02:28:04       24 阅读
  10. Dart语法问答到实践

    2024-07-17 02:28:04       17 阅读
  11. c++将utf8转gb2312

    2024-07-17 02:28:04       25 阅读
  12. 理解 extern “C“:跨语言链接的桥梁

    2024-07-17 02:28:04       25 阅读