[Java Web] 011 -- Caso integral de SpringBootWeb (eliminar/modificar empleados, cargar archivos, archivos de configuración)

Tabla de contenido

1. Nuevos empleados

1. Análisis de la demanda

2. Implementación del código

2. Carga de archivos

1. Introducción (ejemplo básico de carga de archivos)

① Solicitud de página de inicio de carga de archivos

②、multipart/form-data

③, el servidor recibe el archivo

④, implementación de código

⑤ Resumen

2. Almacenamiento local (rara vez se usa)

① Ideas de implementación

② Pasos de implementación

③ Tamaño de carga de archivo predeterminado

3. Alibaba Cloud OSS (servicio de almacenamiento de objetos)

① Introducción a la nube de Alibaba

② Servicio de almacenamiento de objetos (OSS)

③ Ideas generales para usar servicios de terceros

④ Servicio de terceros: trabajo de preparación

⑤ Servicios de terceros: consulte el SDK y escriba ejemplos

⑥, servicios de terceros -- OSS de integración de casos

⑦ Resumen

3. Modificar empleados

1. Consulta de eco

① Ideas de implementación

②, implementación de código

2. Modificar empleados

① Ideas de implementación

②, implementación de código

4. Archivo de configuración (Aplicación.propiedades)

1. Análisis de problemas (problema codificado de forma rígida de la información de configuración de Alibaba Cloud OSS)

2. Configuración de parámetros

3. archivo de configuración yml (recomendado)

①, formato de configuración

②, prioridad del archivo de configuración

③, la sintaxis básica del archivo de configuración yml

④, formato de datos yml

⑤, el archivo de configuración yml reemplaza las propiedades

⑥ Resumen

4, @ Propiedades de configuración

①, análisis de problemas

② Solución (@ConfigurationProperties(prefijo = "aliyun.oss"))

③, resuelve la advertencia

④、@ConfigurationProperties与@Valor


1. Nuevos empleados

1. Análisis de la demanda

Ideas de implementación específicas:

2. Implementación del código

El proceso de implementación específico:

Ⅰ Método del controlador:

Ⅱ Método de servicio:

interfaz de servicio:

Clase de implementación del servicio:

Ⅲ Método del mapeador:

2. Carga de archivos

1. Introducción (ejemplo básico de carga de archivos)

① Solicitud de página de inicio de carga de archivos

Página frontal de carga de archivos ( upload.html ):

Envíe el formulario para ver la información de la solicitud:

Solicitar datos de cabecera:

Solicitar carga útil (payload):

②、multipart/form-data

Después de usar multipart/form-data, el contenido será separado por los datos después del límite

③, el servidor recibe el archivo

Para ser reconocido y recibido, el nombre del elemento de formulario en el front-end debe ser consistente con el nombre del parámetro formal del método de back-end.

④, implementación de código

Ⅰ Método del controlador:

Ⅱ Página de inicio:

Ⅲ Ejecute la prueba:

Punto de interrupción del código del lado del servidor:

El archivo cargado actualmente es solo un archivo temporal (3 elementos de formulario):

Pero siempre que se complete la respuesta a la solicitud de carga del archivo, el archivo temporal se eliminará automáticamente, por lo que la forma de guardar el archivo requiere el contenido de las dos secciones siguientes.

⑤ Resumen

2. Almacenamiento local (rara vez se usa)

① Ideas de implementación

 

② Pasos de implementación

Ⅰ Guarde el archivo en el directorio del disco del servidor: E:\images :

Ⅱ Prueba del cartero:

Enviar petición:

Ⅲ Optimización (para resolver el problema de la duplicación de nombres de archivos cargados):

Construya un nombre de archivo único (no se puede repetir): uuid (identificador único universal, esencialmente una cadena única y de longitud fija)

③ Tamaño de carga de archivo predeterminado

En SpringBoot, el tamaño de carga de archivos predeterminado es de hasta 1M

Modifique el archivo de configuración ( Application.properties ):

3. Alibaba Cloud OSS (servicio de almacenamiento de objetos)

① Introducción a la nube de Alibaba

② Servicio de almacenamiento de objetos (OSS)

③ Ideas generales para usar servicios de terceros

Preparación -> consulte el SDK oficial, escriba el programa de entrada -> integración de casos OSS

④ Servicio de terceros: trabajo de preparación

Crear cubos:

Obtener AccessKey (clave secreta):

Cree una clave de acceso:

⑤ Servicios de terceros: consulte el SDK y escriba ejemplos

Documento oficial Versión de Java: Introducción a varios métodos de instalación de OSSJavaSDK_Object Storage-Alibaba Cloud Help Center

Subir código de ejemplo de transmisión de archivos :

Solo necesitamos cambiar el contenido relevante por el nuestro, sin cambiar el código central

Después de la modificación correspondiente:

⑥, servicios de terceros -- OSS de integración de casos

Idea de implementación:

Pasos de implementación:

Ejemplo:

Ⅰ.Introduzca la clase de herramienta de carga de archivos Aliyun OSS (AliOSSUtils.java):

Ⅱ Modificar el método del controlador:

⑦ Resumen

这里只说本地存储的缺点,而不说云存储的感觉有些不太客观,像云存储也存在其自身的缺点,像(需要有联网环境、收费、云服务一旦崩掉,资源无法访问等)

三、修改员工

1、查询回显

①、实现思路

②、代码实现

具体实现步骤:

Ⅰ、Controller方法(getById):

Ⅱ、service方法:

service接口:

service实现类:

Ⅲ、Mapper方法:

Ⅳ、Postman测试:

2、修改员工

①、实现思路

②、代码实现

具体实现步骤:

Ⅰ、Controller方法:

Ⅱ、service方法:

service接口:

service实现类:

Ⅲ、Mapper方法:

XML映射文件:

Ⅳ、Postman测试:

数据库表:

四、配置文件(Application.properties)

1、问题分析(阿里云OSS配置信息的硬编码问题)

问题解决:(@Value:外部配置的属性注入)

示例:

2、参数配置化

将所有的配置参数交给application.properties配置文件统一管理:

3、yml配置文件(推荐使用)

①、配置格式

application.yml

常见配置文件格式对比:

②、配置文件优先级

③、yml配置文件的基本语法

④、yml数据格式

示例:

⑤、yml配置文件替换properties

示例:(配置完成后,将properties文件备份一下,即可将其从项目中删除)

⑥、小结

4、@ConfigurationProperties

①、问题分析

②、解决方案(@ConfigurationProperties(prefix = "aliyun.oss"))

解决办法:将其打上注解@ConfigurationProperties(prefix = "aliyun.oss"),让其实现自动注入:

示例:

Ⅰ、创建AliOSSProperties.java实体类),将其打上@ConfigurationProperties注解:

Ⅱ、在AliOSSUtils.java文件中,实现AliOSSProperties对象的自动注入:

③、解决警告

解决警告办法:(可选操作)

在AliOSSProperties.java上加入注解出现了以下警告:

该警告就是提醒我们还缺少了一项依赖:

这项依赖的作用就是会自动识别被@ConfigurationProperties这个注解标识的这个bean对象,然后在配置文件当中提示与这个bean对象的属性名相对应的名字

 

④、@ConfigurationProperties与@Value

@Value:单个注入

@ConfigurationProperties:批量注入

 

Supongo que te gusta

Origin blog.csdn.net/qq_41071754/article/details/130035450
Recomendado
Clasificación