Tabla de contenido
1. Introducción (ejemplo básico de carga de archivos)
① Solicitud de página de inicio de carga de archivos
③, el servidor recibe el archivo
2. Almacenamiento local (rara vez se usa)
③ 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
4. Archivo de configuración (Aplicación.propiedades)
2. Configuración de parámetros
3. archivo de configuración yml (recomendado)
②, prioridad del archivo de configuración
③, la sintaxis básica del archivo de configuración yml
⑤, el archivo de configuración yml reemplaza las propiedades
4, @ Propiedades de configuración
② Solución (@ConfigurationProperties(prefijo = "aliyun.oss"))
④、@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:批量注入