本文主要是介绍nacos的配置更改了还要重启服务才生效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
optoelectronic:azimuth: 117.1pitch: -3.81distance: 0.25
原写法:
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;
import java.math.BigDecimal;/*** 光电配置*/
@Data
@Component // 将其声明为一个Spring管理的Bean组件
public class OptoelectronicConfiguration {// 方位修正@Value("${optoelectronic.azimuth}")public static BigDecimal azimuth;// 俯仰修正@Value("${optoelectronic.pitch}")public static BigDecimal pitch;// 距离修正@Value("${optoelectronic.distance}")public static BigDecimal distance;@Value("${optoelectronic.azimuth}") // 使用相同的值初始化静态字段private BigDecimal azimuthPrivate;@Value("${optoelectronic.pitch}") // 使用相同的值初始化静态字段private BigDecimal pitchPrivate;@Value("${optoelectronic.distance}") // 使用相同的值初始化静态字段private BigDecimal distancePrivate;@PostConstructpublic void initStaticFields() {azimuth = azimuthPrivate;pitch = pitchPrivate;distance = distancePrivate;}}
然后在方法中类+静态属性,还是不行,就算在这个类上加了@RefreshScope,也不行。后面用了下面的方法
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.math.BigDecimal;/*** 光电配置*/
@Data
@Component // 将其声明为一个Spring管理的Bean组件
@ConfigurationProperties(prefix = "optoelectronic")
public class OptoelectronicConfiguration2 {// 方位修正private BigDecimal azimuth;// 俯仰修正private BigDecimal pitch;// 距离修正private BigDecimal distance;}
实现方法类
private final OptoelectronicConfiguration2 optoelectronicConfiguration2;
--->
optoelectronicConfiguration2.getAzimuth()
这篇关于nacos的配置更改了还要重启服务才生效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!