当前位置:   article > 正文

SpringBoot集成Nacos

springboot集成nacos

目录

  简介

  依赖

  配置文件

  代码

  测试

简介:

        Nacos 是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的集注册中心与配置中心于一体的管理平台”,又是我们口中所称的配置和注册中心。上文说到如何安装和启动Nacos,那么现在我们就浅谈下Nacos的使用方法。

依赖:

Nacos作为阿里的开源项目,他的依赖也必然带上了阿里,这一点注意别导错依赖了。我这里使用的是2.2.1RELEASE,在这里值得一提的是,最起码nacos的大版本要和SpringBoot保持一致,注册和配置中心的依赖保持一致!!!!(如果后面出问题了,记得看一下依赖)

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  4. <version>2.2.2.RELEASE</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.alibaba.cloud</groupId>
  8. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  9. <version>2.2.2.RELEASE</version>
  10. </dependency>

配置文件

在这里要说一下,配置文件在这里使用的是bootstrap.yml,为系统的配置文件,其优先级大于application.yml。

在这里我们也可以使用bootstrap.properties文件,其效果和yml文件相同。

  1. spring:
  2. application:
  3. name: xiaoguai #为服务名
  4. cloud:
  5. nacos:
  6. username: nacos
  7. password: nacos
  8. discovery:
  9. namespace: monitor
  10. group: monitor
  11. server-addr: localhost:8848
  12. config:
  13. file-extension: yaml #后缀名,只支持 properties 和 yaml 类型
  14. prefix: xiaoguai #文件名,如果没有配置则默认为 ${spring.appliction.name}
  15. namespace: monitor
  16. auto-refresh: true
  17. enable-remote-sync-config: true #启用远程同步配置,
  18. timeout: 3000
  19. group: DEFAULT_GROUP #配置组
  20. refresh-enabled: true
  21. server-addr: localhost:8848

下图为Nacos的对应关系:

 在加上阿里的依赖后,启动类上还要添加注解@EnableDiscoveryClient开启配置。

  1. mport org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  4. /**
  5. * @Author: xiaoguai
  6. * @Date: 2022-09/06/14:11
  7. */
  8. @SpringBootApplication
  9. @EnableDiscoveryClient
  10. public class App {
  11. public static void main(String[] args) {
  12. SpringApplication.run(App.class,args);
  13. }
  14. }

启动启动类后,访问nacos的地址https:localhost:8848/nacos,打开服务列表,为你的服务,服务名对应

spring.application.name:xiaoguai

代码:

要实现配置文件的动态刷新,还需要一个注解@RefreshScope

在需要动态刷新的controller上添加此注解

注意:@Value注解为org.springframework.beans.factory.annotation.Value包下的,不要导成Lombok下的了!!!

  1. @RestController
  2. @RefreshScope
  3. public class HelloController {
  4. @Autowired
  5. private MyConfiguration myConfiguration;
  6. @Value("${log.level}")
  7. private String level;
  8. @GetMapping("/info")
  9. public String getConfigInfo() {
  10. String all = myConfiguration.getUsername()+"<br>"+myConfiguration.getPassword()+level;
  11. System.out.println(all);
  12. return all;
  13. }
  14. }

测试:

在启动之后访问以上内容

控制台和网页分别输出为:

 现在我们在不重启应用的情况下,修改Nacos的配置文件。

 在上次的网页进行刷新操作,分别观察网页和控制台的输出:

 

 这样就完成了Nacos的动态配置和动态刷新了!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/594531
推荐阅读
相关标签
  

闽ICP备14008679号