
springboot
文章平均质量分 73
springboot
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
spring boot 过滤器、拦截器的区别
1、过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。如下图:2、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑。而过滤器是JavaEE标准,只需依赖servlet api ,不需要依赖spring。过滤器拦截器运行先后步骤:其中第2步,Sp.转载 2022-05-01 19:28:45 · 1073 阅读 · 0 评论 -
SpringBoot过滤器OncePerRequestFilter
springboot中javax.servlet.Filter原生接口的实现;而Spring的OncePerRequestFilter类实际上是一个实现了Filter接口的抽象类。spring对Filter进行了一些封装处理。 OncePerRequestFilter,顾名思义,它能够确保在一次请求中只通过一次filter,而需要重复的执行。大家常识上都认为,一次请求本来就只filter一次,为什么还要由此特别限定呢,往往我们的常识和实际的实现并不真的一样,经过一番资料的查阅,此方法是为了...转载 2022-05-01 18:46:52 · 2238 阅读 · 0 评论 -
springboot通过HttpServletRequestWrapper获取所有请求参数
1、简介springboot通过拦截器获取参数有两种方式,一种通过request.getParameter获取Get方式传递的参数,另外一种是通过request.getInputStream或reques.getReader获取通过POST/PUT/DELETE/PATCH传递的参数。2、拦截器获取参数有哪些方式@PathVariable注解是REST风格url获取参数的方式,只能用在GET请求类型,通过getParameter获取参数 @RequestParam注解支持...转载 2022-05-01 18:39:41 · 8949 阅读 · 1 评论 -
Spring Boot (Filter)过滤器的实现以及使用场景
一、过滤器简介1、过滤器是什么?Filter也称之为过滤器,过滤器是对数据进行过滤,预处理。开发人员可以对客户端提交的数据进行过滤处理,比如敏感词,也可以对服务端返回的数据进行处理。还有就是可以验证用户的登录情况,权限验证,对静态资源进行访问控制,没有登录或者是没有权限时是不能让用户直接访问这些资源的。类似的过滤器还有很多的功能,比如说编码,压缩服务端给客户端返回的各种数据,等等。2、过滤器的运作原理?过滤器这么牛逼,那么它的运作原理是什么呢? j...转载 2022-05-01 18:22:47 · 4262 阅读 · 0 评论 -
源码分析Spring boot拦截器执行顺序
一、提出问题项目中存在多个拦截器,那么他们的执行顺序是如何的? 如何设置拦截器执行顺序?二、前期准备项目结构:主要代码如下,有拦截器A、B、C,代码基本与下一致:/** * 拦截器 A * * @author ouyang * @version 1.0 * @date 2020/7/30 15:18 **/public class AInterceptor implements HandlerInterceptor { private final .转载 2022-05-01 17:44:54 · 3134 阅读 · 0 评论 -
Spring Boot之拦截器原理与使用场景
1.什么是拦截器?拦截器的主要是基于Java的反射机制,属于面向切面编程(AOP)的一种运用,就是在Service或者一个方法前调用一个方法,或者在方法后调用一个方法,甚至在抛出异常的时候做业务逻辑的操作。拦截器的作用类似于Servlet中的Filter,都可以用于对处理器进行预处理和后处理。在Spring MVC 与Spring Boot 中使用拦截器一般是实现HandlerInterceptor接口。HandlerInterceptor接口提供了三...转载 2022-05-01 17:21:00 · 2771 阅读 · 0 评论 -
Springboot2之静态资源规则与定制化、welcome与favicon功能、Rest映射及源码解析以及改变默认的_method
一、静态资源规则与定制化1、静态资源目录只要静态资源放在类路径下: called /static (or /public or /resources or /META-INF/resources访问 : 当前项目根路径/ + 静态资源名原理: 静态映射/**。请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面。也可以改变默认的静态资源路径,/static,/public,/resources, /META-I转载 2022-05-01 17:03:31 · 185 阅读 · 0 评论 -
@SpringBootApplication之自动配置【源码分析】
一、自动包规则原理1、Spring Boot应用的启动类:@SpringBootApplicationpublic class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); }}分析下@SpringBootApplication@Target(ElementType.TYP转载 2022-05-01 13:54:03 · 150 阅读 · 0 评论 -
Springboot2之底层注解-@Configuration、@Import、@Conditional、@ImportResource以及@ConfigurationProperties配置绑定
1、@Configuration详解基本使用 Full模式与Lite模式 示例 /** * 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也是单实例的 * 2、配置类本身也是组件 * 3、proxyBeanMethods:代理bean的方法 * Full(proxyBeanMethods = true)(保证每个@Bean方法被调用多少次返回的组件都是单实例的)(默认) * Lite(proxyBeanMethods = false)(每个@Be转载 2022-05-01 11:06:15 · 380 阅读 · 0 评论 -
Spring boot 2.1.9+Swagger2.9.2+swagger2markup生成离线HTML和pdf接口文档
首先引入maven依赖 a:首先是properties的版本依赖 <properties> <java.version>1.8</java.version> <snippetsDirectory>${project.build.directory}/generated-snippets<...原创 2020-02-12 23:06:00 · 955 阅读 · 0 评论 -
关于Swagger报错java.lang.NumberFormatException: For input string: ""的总结
参考如下文章: https://blog.youkuaiyun.com/qq122516902/article/details/89673363 具体如下办法解决(升级版本即可):原创 2020-02-12 23:23:18 · 411 阅读 · 0 评论 -
Spring---springboot修改打包后的项目(jar war)名称
在build里面添加finalName,指定好想要的项目名称即可:example转载 2021-05-30 14:22:53 · 435 阅读 · 0 评论 -
【SpringBoot】手写一个简单的SpringBoot-starter
starter会把所有用到的依赖都给包含进来,避免了开发者自己去引入依赖所带来的麻烦。虽然不同的starter实现起来各有差异,但是他们基本上都会使用到两个相同的内容:ConfigurationProperties和AutoConfiguration。Starters are a set of convenient dependency descriptors thatyou can include in your application.Starters 是一组可以让你很方便在应用.转载 2021-02-24 11:34:36 · 465 阅读 · 0 评论 -
Spring Boot启动原理
Spring Boot程序有一个启动类,里面存在一个main方法。main里面调用SpringApplication.run()启动整个Spring Boot程序,该方法所在类需要使用@SpringBootApplication注解。1.@SpringBootApplication 首先,我从引导类开始/** * Spring Boot引导类 * 一点教程网 - www.yiidian.com */@SpringBootApplicationpublic class M...转载 2021-02-23 22:53:46 · 1212 阅读 · 0 评论 -
Mybatis-plus批量插入、批量修改数据saveBatch等速度缓慢
问题:用mybatis批量插入近200条的数据大概用时5s!!这个速度太可怕了解决方案:百度找了很多方案,如并发插入多个线程同时操作,但效果仍不是很明显,并且资源开销大。最终解决方案是数据库连接参数配置了rewriteBatchedStatements=true最终得以解决!经过测试速度达到了毫秒级别,100000条数据的情况下也控制在20s以下!...转载 2020-12-08 23:26:55 · 2686 阅读 · 0 评论 -
JAVA实现邮件的发送功能
搭建一个springboot项目 发送简单文本的邮件 简单的发送HTML邮件功能 发送带附件的邮件方法,带多个附件 发送带图片的邮件方法文章目录...原创 2018-12-30 22:22:52 · 368 阅读 · 0 评论