Spring boot使用yml文件自定义配置

通过配置,可以写自定义yml配置

支持 yml 文件工厂类

/**
 * 版权:Taylor
 * 描述: @PropertySource 支持 yml 文件工厂类
 * 创建时间:2020年05月15日
 */
package com.taylor.test.service.config;


import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.core.env.PropertiesPropertySource;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.support.DefaultPropertySourceFactory;
import org.springframework.core.io.support.EncodedResource;

import java.io.*;
import java.util.Properties;

/**
 * @author Taylor
 * @PropertySource 支持 yml 文件工厂类
 * @date 2020年05月15日
 */
public class ResourceFactory 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过在`application.yml`文件中添加以下配置来限制指定路径上传文件的大小: ```yaml spring: servlet: multipart: max-file-size: 10MB # 限制单个文件上传大小 max-request-size: 100MB # 限制整个请求上传大小 application: upload: max-file-size: 5MB # 指定路径下允许上传的最大文件大小 ``` 其中,`max-file-size`表示单个文件上传的最大大小,`max-request-size`表示整个请求上传的最大大小。`upload.max-file-size`表示指定路径下允许上传的最大文件大小。 接下来,需要在代码中指定需要限制大小的路径。例如,我们需要限制`/uploads`路径下的文件上传大小,可以在`application.yml`文件中添加如下配置: ```yaml spring: application: upload: max-file-size: 5MB ``` 然后,在代码中添加如下配置: ```java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Value("${spring.application.upload.max-file-size}") private String maxFileSize; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/uploads/**") .addResourceLocations("file:./uploads/") .setCachePeriod(0) .resourceChain(true) .addResolver(new PathResourceResolver() { @Override protected Resource getResource(String resourcePath, Resource location) throws IOException { Resource requestedResource = location.createRelative(resourcePath); long fileSize = requestedResource.contentLength(); if (fileSize > Long.parseLong(maxFileSize)) { throw new RuntimeException("File size exceeds limit"); } return requestedResource; } }); } } ``` 上述代码中,`addResourceHandlers`方法可以添加自定义的静态资源处理器。我们通过`addResourceHandler("/uploads/**")`指定需要处理的路径为`/uploads/**`,并通过`addResourceLocations("file:./uploads/")`指定实际文件存储的路径为`./uploads/`。在`addResolver`方法中,我们添加了一个自定义的资源解析器,用于检查上传文件的大小是否超过了限制。如果超过了限制,则抛出一个运行时异常。 这样,我们就可以限制指定路径下上传文件的大小了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值