Tarjeta de visita personal:
bloguero: Alcohólicos ᝰ.
Perfil personal: Disfrute del vino y luche por un futuro con una bebida.
Este artículo es inspirador: Tres personas caminan, ahí debe estar mi maestro.
Este proyecto se basa en el programador dark horse de la estación B Java "SpringCloud Microservice Technology Stack", SpringCloud+RabbitMQ+Docker+Redis+search+distributed
[SpringCloud+RabbitMQ+Docker+Redis+search+distributed, sistema detallado curso de pila de tecnología de microservicios springcloud|programador de caballos oscuros Java microservicio] Haga clic para ver
Tabla de contenido
1. Gestión de configuración unificada
1. Empezar nacos
En el directorio bin de nacos, haga clic derecho en el espacio en blanco y ábralo en la terminal.
Ingrese el comando: .\startupup.cmd -m independiente
2.nacos añadir
Puede agregarlo como se muestra a continuación.
3. Operación IDEA
- importar dependencias
El userservice-dev.yaml está configurado en nacos, y todas las siguientes operaciones se realizan en el módulo de servicio al usuario.
<!--nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- archivo bootstrap.yml
spring:
application:
name: userservice # 服务名称
profiles:
active: dev # 环境
cloud:
nacos:
server-addr: localhost:8848 # nacos地址
config:
file-extension: yaml # 文件后缀名
- inyección de propiedad
package cn.itcast.user.web;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@RestController
@RequestMapping("/user")
public class UserController {
@Value("${pattern.dateformat}")
private String dateformat;
@GetMapping("/now")
public String now(){
return LocalDateTime.now().format(
DateTimeFormatter.ofPattern(properties.getDateformat())
);
}
/*
省略...
*/
}
4. prueba
- ruta de acceso
http://localhost:8081/usuario/ahora
- resultado de la visita
2. Actualización en caliente
En este punto, cuando modificamos la configuración en nacos, necesitamos reiniciar el servicio para que surta efecto.
Propósito : Necesitamos modificar la configuración en nacos para que surta efecto directamente.
Método 1: agregue la anotación @RefreshScope directamente a la clase del controlador
import org.springframework.cloud.context.config.annotation.RefreshScope;
@RefreshScope
public class UserController {
//...省略
}
Método 2: anotar con @ConfigurationProperties
1. Cree una nueva configuración de módulo y cree una nueva clase PatternProperties en ella.
2. Escribir código en la clase PatternProperties
package cn.itcast.user.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateformat;
}
3. Modifique el código en el controlador. Después de crear la clase PatternProperties anteriormente, mueva la configuración de nacos a la nueva clase. Aquí, debe llamar a la nueva clase para obtenerla, lo cual es conveniente para la actualización en caliente.
package cn.itcast.user.web;
import cn.itcast.user.config.PatternProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private PatternProperties properties;
@GetMapping("/now")
public String now(){
return LocalDateTime.now().format(
DateTimeFormatter.ofPattern(properties.getDateformat())
);
}
}
3. Uso compartido de configuración multientorno (abreviado)
Prioridad: [nombre del servicio]-[perfil].[yaml] > [nombre del servicio].[yaml] > [configuración local]
1. Crear una configuración de nacos compartida
En este punto, no importa cómo cambie el perfil en **[nombre del servicio]-[perfil].[yaml] , [nombre del servicio].[yaml] ** definitivamente se cargará.
- Modificar perfil
Haga clic con el botón derecho en el servicio que desea modificar, seleccione Editar
e ingrese el valor del perfil modificado en Perfiles activos.
2. Establecer una configuración compartida
1. Método 1: configuraciones de extensión
spring:
cloud:
nacos:
config:
extension-configs:
- extend.yaml
2. Método 2: configuraciones compartidas
spring:
cloud:
nacos:
config:
shared-configs:
- common.yaml
4. Construcción de grupos
5. Resolución anormal
1. El servidor nacos no se inicia y se rechaza la conexión: se informa la excepción de conexión, de la siguiente manera.
Inicie nacos de acuerdo con la operación correcta.