2-04-Nacos配置管理-配置热更新
所谓的热更新共有两种实现方式
1.@Value+@Refresh 针对单一类的配置热更新
2.@ConfigurationProperties+@Autowired,针对所有类的配置热更新
单一类配置热更新
优点:如果是原有的文件配置 仅需要增加一个注解即可
缺点:配置分布太散 不利于维护
@Service
@RefreshScope
public class UserService {
@Value("${user.suffix}")
String userSuffix;
@Autowired
private UserMapper userMapper;
public User queryById(Long id) {
User byId = userMapper.findById(id);
byId.setUsername(byId.getUsername()+"用户统一后缀为 "+userSuffix);
return byId;
}
}
全局配置
优点:配置统一管理-维护方便
缺点:由原有文件配置修改而来的话-改动较大
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "develop")
public class GlobalConfig {
String timefo;
}
@Autowired
GlobalConfig globalConfig;
LocalDateTime.now().format(DateTimeFormatter.ofPattern(globalConfig.getTimefo())));