我们肯定是希望每次更改Nacos的配置后,无需重启微服务就可以应用配置。Nacos已经实现了热更新,有两种方式:
1.方法一
在@Value注入的变量所在类上添加注解@RefreshScope
2.方法二(推荐)
使用@ConfigurationProperties注解代替@Value注解。
在微服务中,添加一个类,读取patterrn.dateformat属性:
package cn.itcast.user.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @author 温柔哥
* @create 2024-01-18 22:15
*/
/*
* Nacos实现热更新方法二
* */
@Data // 注入get()、set()方法
@Component // 让这个类可以被任意使用,把它注入成Spring的一个Bean
@ConfigurationProperties(prefix = "pattern") //可以实现配置的自动加载,完成属性的自动注入
public class PatternProperties {
private String dateformat;
}
自动装配
@Autowired
private PatternProperties patternProperties;
@GetMapping("now")
public String now() {
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));
}