Nacos 热加载实现方法

  • Post author:
  • Post category:其他



在Spirng项目中一般使用Spring的@Value注解 或@ConfigurationProperties 的Properties进行参数注入,这样就可以获得配置文件中的的值;具体使用如下:

    @Value("${book.name}")
    private String bookName;
    @Value("${book.author}")
    private String bookAuthor;


	@Data
	@ConfigurationProperties(prefix = "book")
	public class Book {
	
	    private String name;
	    private String author;
	    private int age;
	    
	    //get.. set..
	}

@ConfigurationProperties有两个属性

  • prefix:指定properties的配置的前缀
  • locations:指定properties文件的位置

可以看出两种方法适应不同非场合,单个属性值使用@value,多个同组使用

@ConfigurationProperties。但是在使用Nacos管理配置时,修改配置文件的值不能同步热更新,在这注解上修改即可实现:

  • 通过 @Value 注入后,结合注解 @RefreshScope 刷新配置。

过程是在要调用这些变化的配置的类中,通过注解 @Value 找到在 nacos 中配置的属性,然后在调用这些属性的类上加上注解 @RefreshScope 实现配置的自动更新。

在这里插入图片描述

  • 通过 @ConfigurationProperties 注入配置,同时配合 @Component

    将配置交给spring管理生效,自动刷新。

重新定义一个方法或者类(该注解使用于类和方法),通过注解@ConfigurationProperties 的属性 prefix 绑定配置文件中的配置,相当于捕捉到外部的配置信息,@Component 注解实现把配置交给 spring 管理,实现配置文件的自动刷新

在这里插入图片描述



版权声明:本文为qq_41704197原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。