springboot bootstrap.yml nacos配置中心问题
作者:困知勉行1985 时间:2022-07-07 08:25:01
一.本地Nacos安装环境: Win7 ,JDK8 ,maven3.5
1.下载安装包
2.启动nacos服务,bin文件下下面startup.cmd
3.访问 http://localhost:8848/nacos
二.整合Springboot
Springboot版本如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
nacos的版本
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
1.在Springboot项目中添加 bootstrap.yml文件
目的在于:用于指定nacos的位置,(IP和端口)其他配置:例如项目名称,nacos中配置文件的文件类型,如yml,text等等
配置如下:
Note:这里并没有指定配置文件的名字,因为默认的配置文件名是gabriel.yaml,连接上配置中心后,会自动去获取这个默认的配置文件。
spring:
application:
name: gabriel
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
2.在nacos页面上配置项目所需要的相关依赖
注意:
项目中的 application.name属性 必须要与nacos配置文件的名称相同(也就是说,如果不指定配置文件名字,想使用默认设置,那么服务名与nacos配置文件名必须相同)nacos配置文件,必须携带相应的后缀(这里是yaml),必须要与bootstrap.yml中配置的后缀一致,即如果配置了 file-extension: yaml ,则 nacos中的文件名必须是xxxx.yaml, 后面的yaml不能省略,否则会报错依赖名称必须要正确,这里如果引入了下面的依赖,虽然也会读取配置文件,但是无法启动自动刷新配置的功能(这个问题很坑)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.2.0.RELEASE</version>
</dependency>
配置文件的名字为 gabriel.yaml
3.在需要添加自动刷新的Controller类上
加入@RefreshScope注解,启动自动刷新nacos的配置
@RestController
@RequestMapping(value = "/test")
@RefreshScope
public class TestController {
@Value(value = "${service.name:}")
private String serverName;
/**
*
* @return
*/
@RequestMapping(value = "/get_nacos")
public String getNacos(){
System.out.println(serverName);
return serverName;
}
}
来源:https://blog.csdn.net/wdquan19851029/article/details/122968726
标签:springboot,bootstrap,nacos,配置中心
0
投稿
猜你喜欢
浅谈java实现背包算法(0-1背包问题)
2022-04-28 15:23:43
常见JavaWeb安全问题和解决方案
2023-11-09 01:02:17
Mybatis MapperScannerConfigurer自动扫描Mapper接口生成代理注入到Spring的方法
2023-04-17 11:57:25
深入理解Java高级特性——注解
2021-05-23 20:28:54
SpringBoot上传临时文件被删除引起报错的解决
2022-05-28 23:46:24
java注解结合aspectj AOP进行日志打印的操作
2023-10-23 14:02:53
Java emoji持久化mysql过程详解
2023-10-10 23:11:49
Java 替换word文档文字并指定位置插入图片
2023-08-12 22:02:25
浅谈mybatis中SQL语句给boolean类型赋值问题
2023-01-19 15:15:42
C#中的那些警告该如何去除(完全去除C#警告)
2023-09-07 20:55:53
JVM代码缓存区CodeCache原理及用法解析
2023-08-09 06:02:29
Java线程池 ThreadPoolExecutor 详解
2021-05-24 10:35:42
Java运算符从见过到掌握上
2022-09-08 02:12:43
Java特性队列和栈的堵塞原理解析
2023-10-13 14:15:55
mybatis的if判断integer问题
2022-12-23 20:15:41
详解SpringBoot定制@ResponseBody注解返回的Json格式
2023-07-26 13:47:02
详解java 三种调用机制(同步、回调、异步)
2023-11-25 07:59:57
C#几种截取字符串的方法小结
2023-07-16 09:55:10
Java shiro安全框架使用介绍
2023-07-09 05:24:35
Java SpringCache+Redis缓存数据详解
2023-11-29 01:01:05