Notas del marco de autoaprendizaje Spring Boot (actualización continua)

1 Comenzando

1.1 Introducción

Simplifique el desarrollo de aplicaciones Spring, integre la pila de tecnología Spring y la solución integral JavaEE. (Utilice la relación entre keras y TensorFlow para comprender Spring Boot y Spring).

1.2 Microservicios

Cada elemento funcional se coloca en un servicio reemplazable y actualizable de forma independiente (el servicio tradicional se divide en múltiples).

1.3 Dependencia

Spring Boot extrae todas las funciones de la escena en un iniciador (iniciadores), solo necesita introducir escenas en el proyecto y las dependencias se importan automáticamente.

1.4 Directorio de archivos

main /
├── java: escriba su propia lógica de negocios java
│ └── xyz
│ └── cqulwj
│ ├── el controlador
│ │ └── HomeController.java
│ └── Main.java es
└── Recursos: Recursos
├ ── application.properties: archivo de configuración de la aplicación Spring Boot
├── static: todos los recursos estáticos; imágenes js css, etc .;
└── templates: guarda todas las páginas de plantilla; (usando tomcat integrado, las páginas JSP no son compatibles de forma predeterminada)

2 Archivo de configuración

2.1 Archivo de configuración

Spring Boot usa un archivo de configuración global con un nombre de archivo fijo:

  • application.properties
  • application.yml
    yml es un lenguaje de marcado de texto, centrado en datos (recomendado)

2.2 sintaxis YAML

K: V identifica un par de pares clave-valor,
sangrados con espacios para identificar relaciones jerárquicas

server:
  port: 8080
  address: 0.0.0.0

Objeto, escritura de mapas

student:{
    
    no:001,name:Jack}

Dos formas de escribir matriz

pets:
  - cat
  - dog
  - pig

o

pets:[cat,dog,pig]

2.3 inyección de valor del archivo de configuración yml

2.3.1 Primero declare la clase a inyectar

@Component
@ConfigurationProperties(prefix = "student")
public class Student {
    
    
    private Integer num;
    ……;
}

Tenga en cuenta que debe haber un método de establecimiento.

2.3.2 Configurar el valor de la clase en yml

student:
  num: 18
  ……

2.3.3 Configurar la dependencia del archivo pom

<!--yml依赖-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

2.3.4 Uso

@Autowired
	Student student;

2.4 Marcador de posición del archivo de configuración

Número aleatorio: $ {random.int}, $ {random.value}, $ {random.long}
Valor predeterminado: $ {num: 10} (el valor predeterminado después de los dos puntos)

2.5 perfil

2.5.1 Varios archivos de perfil

El archivo de configuración puede ser: Aplicación- {perfil} .yml /
activación de propiedades : spring.profiles.active = devjijiji

2.5.2 yml admite varios bloques de documentos

server:
  port: 8081
  address: 0.0.0.0
spring:
  profiles:
    active: dev
---
spring:
  profiles: dev
server:
  port: 8082

Por defecto 8081, active dev para abrir el puerto 8082

2.6 Cargar la ubicación del archivo de configuración

  • archivo: ./config/ a saber: / config en el directorio raíz del proyecto y nivel pom.xml
  • archivo: ./ a saber: directorio raíz del proyecto y nivel pom.xml
  • classpath: / config /即 : main / resources / config / application.properties
  • classpath: /即 : main / resources / application.properties

Puntos de conocimiento: cargue de acuerdo con la prioridad de mayor a menor y configure la configuración con alta cobertura ; el archivo de configuración puede especificar la ubicación por separado y agregar el parámetro-spring.config.location cuando se inicia la línea de comando (es conveniente configurarlo después de la implementación); también El archivo de configuración se puede colocar en el mismo directorio que el paquete jar empaquetado.

2.7 Principio de configuración automática

Para profundizar más ...

3 troncos

3.1 Selección del marco lógico

Fachada de
registro: implementación de registro SLF4J : Logback
Spring framework usa JCL de forma predeterminada;
Spring Boot usa SLF4J y logback.

3.2 Uso de Log Framework

3.2.1 Uso de SLF4j


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Controller
public class HomeController {
    
    
    @ResponseBody
    @RequestMapping("/home")
    public String home(){
    
    
        Logger logger= LoggerFactory.getLogger(HomeController.class);
        logger.info("进入访问");
        return "This is my home!!!";
    }
}

3.2.2 Uso mixto de marcos de registro en diferentes paquetes

Puede usar el paquete intermedio correspondiente de slf4j para reemplazar el marco de registro original y luego usar otras implementaciones de slf4j.

3.3 Relación de registro de Spring Boot

3.3.1 La capa inferior también es slf4j + logback;
3.3.2 Springboot también reemplaza otros paquetes con slf4j;
3.3.3 Cuando se introduce un nuevo marco, su marco de registro debe eliminarse y Springboot agregará automáticamente slf4j;

3.4 Uso del registro de Spring Boot

Logger logger= LoggerFactory.getLogger(HomeController.class)

Método de registro, nivel de
menor a mayor: trace () <debug () <info () <warn () <error ()

3.4.1 El nivel de registro de salida se puede establecer en el archivo de configuración.
logging.level.xyz.cqulwj = rastreo

3.4.2 Establecer la ubicación del archivo de registro
logging.file = ruta / my.log

3.4.3 Especifique el directorio del archivo de registro
logging.path = ruta

3.4.4 Puede establecer su propio archivo de configuración de registro, que
anulará la configuración predeterminada de Spring. Se
recomienda nombrarlo: logback-spring.xml

4 Spring Boot y desarrollo web

Proceso de uso: seleccione aplicación -> configuración automática -> escribir lógica empresarial.

4.1 Recursos estáticos

4.1.1 Para acceder a los recursos en webjars, proporcione directamente el directorio del paquete / webjars / ** ruta.

4.1.2 La ruta de búsqueda de recursos de su propia lógica empresarial es "/ -" (carpeta de recursos estática):

  • "Classpath: / META_INF / resources"
  • "Classpath: / resources /"
  • "Classpath: / static /"
  • "Classpath: / public /"
  • "/" La ruta raíz del proyecto actual

4.1.3 El mapeo de la página de bienvenida
Todas las carpetas de recursos estáticos + index.html

4.1.4 Icon
All ** / favicon.ico también se encuentran en recursos estáticos

4.2 Motor de plantillas

JSP 、 Velocidad 、 Freemarker 、Thymeleaf

4.2.1 Introducción de la hoja de tomillo

Puntos de conocimiento

1 Spring boot solo escanea los componentes del mismo nivel y el siguiente nivel de la clase principal de la anotación SpringBootApplication, y no encontrará el nivel anterior;

2 @ImportResource (ubicaciones = {"classpath: -. Xml"}): Importe el archivo de configuración de Spring para que el archivo de configuración sea efectivo;

3 @PropertySource carga el archivo de configuración especificado;

4 @Configuration clase de configuración -> @Bean agrega el valor de retorno del método al contenedor

Supongo que te gusta

Origin blog.csdn.net/weixin_44215363/article/details/109263971
Recomendado
Clasificación