implementación y administración de la configuración de nacos

archivo de configuración

Primero cree un nuevo archivo de configuración

  • ID de datos: el nombre del archivo de configuración (único)
  • Especificación de nombres: nombre del servicio, entorno de ejecución, nombre del sufijo (generalmente use su yaml)
  • Grupo: nombre del grupo, generalmente usa el predeterminado
  • Contenido de configuración: generalmente complete la configuración que debe cambiarse con frecuencia, por ejemplo: algunos interruptores, parámetros y similares

Orden de adquisición de la configuración:

项目启动>> 读取bootstrap.yml文件>> 读取nacos配置文件>> 读取本地配置文件application.yml>> 创建spring容器>> 加载bean
Debido a que la prioridad de leer el archivo de configuración de nacos es más alta que la de la aplicación, la información de configuración de nacos en la aplicación no puede satisfacer nuestras necesidades, así que spring proporciona un archivo de arranque, su prioridad es más alto que nacos, estamos acostumbrados a almacenar la información de configuración de nacos en bootstrap

  1. Introducir dependencias de cliente de gestión de configuración de nacos
        <!--        nacos配置-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

  1. Cree un archivo bootstrap.yml para configurar la información de nacos
spring:
  application:
    name: userservice #服务名称
  profiles:
    active: dev #开发环境
  cloud:
    nacos:
      config:
        file-extension: yaml #文件后缀名
      server-addr: localhost:8848 #nacos地址
  1. Obtenga la información de configuración correspondiente a través de la anotación @value
@Component
@Data
public class Confix {
    
    
    @Value("${pattern.dataformat}") //yyyy-MM-dd HH:mm:ss
    private String dataformat;
}

    @Autowired
    private Confix confix;
    @GetMapping("/get")
    public String now(){
    
    
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(confix.getDataformat()));
    }

implementación en caliente de la configuración de nacos

  • Método 1: @RefreshScope

 La implementación en caliente de la configuración se puede realizar a través de la anotación @RefreshScope. El bean modificado por la anotación @RefreshScope será enviado por proxy por RefreshScope para realizar la carga en caliente de la configuración y la instancia, es decir, cuando la configuración cambia, el bean se puede actualizar sin reiniciar la aplicación relacionada. valor de atributo


@Component
@Data
@RefreshScope
public class Confix {
    
    
    @Value("${pattern.dataformat}")
    private String dataformat;
}

  • Método 2: @ConfigurationProperties

 Use la anotación @ConfigurationProperties para marcar la clase de configuración. Después de que la configuración se publique a través de Nacos, la clase de configuración se volverá a vincular. En este momento, la modificación dinámica de la variable tendrá efecto y el lugar utilizado se inyectará a través de @Autowired .

@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class Confix {
    
    
    private String dataformat;
}

前缀名(@ConfigurationProperties(prefix = "pattern"))和变量名(dataformat)拼接后要和配置文件一致

Supongo que te gusta

Origin blog.csdn.net/weixin_58286934/article/details/128490404
Recomendado
Clasificación