Nacos的配置文件变更后,微服务无需重启就可以感知,不过需要通过下面两种配置方式实现:

配置自动更新

Nacos的配置文件变更后,微服务无需重启就可以感知,不过需要通过下面两种配置方式实现:

1.方式一:在@Value注入的变量所在类上添加注解@RefreshScope

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {

    @Autowired
    private UserService userService;

    @Value("${pattern.dateformat}") //Value注解 可以读取配置
    private String dateformat;

2.方式二:使用@ConfigurationProperties注解(可以新建一个类专门用来完成配置加载)

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateFormat;
}
public class UserController {

    @Autowired
    private UserService userService;
    @Autowired
    private PatternProperties patternProperties;

//    @Value("${pattern.dateformat}") //Value注解 可以读取配置
//    private String dateformat;

    @GetMapping("now")
    public  String  now(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateFormat()));
    }