
spring
文章平均质量分 91
游语
把生活过成段子,把代码写成诗
展开
-
RestTemplate消息转换器实现详解
本篇以fastjson消息转换器为例,详细的介绍了RestTemplate如何注入一个消息转换器,如何将入参pojo通过消息转换器转换给http请求,以及将http response stream转换为出参pojo。从源码设计的角度去分析消息转换器。...原创 2022-06-17 20:11:17 · 3693 阅读 · 0 评论 -
基于SpringDataRedis封装通用RedisUtils
RedisUtilspackage org.springframework.data.redis.test.util;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;import org.springframework.beans.factory.annotation.Autowired;import org.springframewor原创 2021-02-25 17:27:40 · 407 阅读 · 0 评论 -
springboot上传jar包失败 前端报net:ERR_CONNECTION_RESET
问题来源客户在使用dolphinscheduler调度上传资源时发现jar包上传失败,其他类型文件正常上传思路三连前端是否正常上传,服务端是否接受到请求,服务端是否处理请求前端上传判断原创 2020-11-04 19:03:10 · 3232 阅读 · 0 评论 -
Spring-jcl源码(一) -- log日志级别
Spring-jcl是spring体系中极少数没有依赖其他spring jar包的工具包。是一个spring common 日志桥接包。依赖了log4j-api和slf4j-api。开始之前先讲一下spring jcl中的日志级别。Fatal>Error>Warn>Info>Debug>TraceFatal:严重,重大错误将导致程序直接停止运行;Err...原创 2019-03-29 11:29:17 · 1572 阅读 · 0 评论 -
Spring-core源码 -- AntPathMatcher匹配映射路径类
参考:Spring之AntPathMatcherAntPathMatcher这个类主要用来干嘛的呢?就是用来做路径映射匹配的。比如:com/t?st.jsp 匹配 com/test.jsp、com/tast.jsp等 com/*.jsp 匹配 所有com下级.jsp文件 com/**/test.jsp 匹配 所有com下的test.jsp结尾...原创 2019-04-15 21:41:26 · 901 阅读 · 0 评论 -
Spring-core源码 -- AlternativeJdkIdGenerator Spring的UUID生成器类
有时候看源码,我们会受到一些启发。spring-core中的AlternativeJdkIdGenerator类,一个生成UUID的类,仔细研究一下 发现他和UUID的randomUUID很相似。public class AlternativeJdkIdGenerator implements IdGenerator { private final Random random;...原创 2019-04-16 15:41:16 · 1325 阅读 · 0 评论 -
Spring-core源码 -- AutoPopulatingList可自动填充元素的List包装类
这个类,是线程不安全的,我们使用频率很小,近乎无,需谨慎操作。/** * The {@link List} that all operations are eventually delegated to. * 所有操作最终委托给的列表。 */ private final List<E> backingList; /** * The {@link Elemen...原创 2019-04-16 16:08:59 · 593 阅读 · 0 评论 -
前后分离服务端非简单请求预检问题跨域问题
参考博客:阮一峰简单请求的定义:(1) 请求方法是以下三种方法之一: HEAD GET POST(2)HTTP的头信息不超出以下几种字段: Accept Accept-Language Content-Language Last-Event-ID Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/f...原创 2019-07-31 21:37:18 · 490 阅读 · 0 评论 -
解决请求头新增字段跨域问题
问题描述在请求头中新增了用户标记字段,前端报了该字段跨域问题,postman没有。问题原因由于新增了字段到请求头中,导致了服务端跨域请求处理时没有识别到该字段,认为该请求是跨域的。问题解决 response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response....原创 2019-07-31 21:43:50 · 4726 阅读 · 0 评论 -
redisTemplate注入失败问题
错误提示:[DEBUG] 2019-08-07 20:11:09 CST org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter 38 report - Application failed to start due to an exception org.springframework.beans.factory....原创 2019-08-07 20:56:03 · 4620 阅读 · 0 评论 -
Spring-core源码 -- Assert断言类
Assert断言类,这是一个很常见的类,我们调试的时候验证方法参数使用。一个个方法开始看。public static void state(boolean expression, String message) { if (!expression) { throw new IllegalStateException(message); } }判断expression的bo...原创 2019-04-01 14:43:12 · 510 阅读 · 0 评论 -
Spring-jcl源码(终) -- 实践
maven导入Spring-jcl<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jcl</artifactId> <version>5.0.6.RELEASE</version>...原创 2019-03-29 16:28:56 · 603 阅读 · 0 评论 -
Spring-jcl源码(四) -- LogFactory获取Log对象
public abstract class LogFactory { /** * 获取给定类的Log对象 * Convenience method to return a named logger. * @param clazz containing Class from which a log name will be derived */ public static L...原创 2019-03-29 15:27:42 · 1163 阅读 · 0 评论 -
理解DispatcherServlet
找一个切入点去读spring的源码。先看了一遍DispatcherServlet里面的方法,把一些英文注释的方法写上了翻译和一点点自己的理解。然后来解释一下DispatcherServlet做了什么。DispatcherServlet,前端控制器模式。它是什么呢?就是前端请求到服务端,然后DispatcherServlet去做一些处理这个请求的操作。 它基于JavaBea...原创 2019-01-22 16:25:37 · 536 阅读 · 2 评论 -
从DispatcherServlet到HandlerMapping
tomcat启动的时候DispatcherServlet加载默认资源DispatcherServlet.properties就会去加载默认的HandlerMapping,包括org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping和 org.springframework.web.servlet.mvc.method.ann...原创 2019-01-28 11:40:36 · 1328 阅读 · 0 评论 -
从DispatcherServlet到HandlerAdapter
tomcat启动时,DispatcherServlet初始化HandlerAdapter,默认加载的处理适配器有:org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter、org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter和org.springfram...原创 2019-01-28 15:35:09 · 677 阅读 · 0 评论 -
从DispatcherServlet到RequestToViewNameTranslator
tomcat启动,DispatcherServlet调用initRequestToViewNameTranslator方法初始化RequestToViewNameTranslator时,先看ApplicationContext有没有一个叫"viewNameTranslator"的RequestToViewNameTranslator,如果有,则获取该viewNameTranslator对象,如果没...原创 2019-02-14 16:20:16 · 243 阅读 · 0 评论 -
从DispatcherServlet到MultipartResolver
tomcat启动,DispatcherServlet初始化时调用initMultipartResolver方法初始化用户自己注入的MultipartResolver,springmvc并没有注入默认的Multipart解析器,用户未注入时,默认Multipart解析器则则为空。因此,当我们需要使用multipart/form-data方式向服务端传参时我们需要自已手动注入自己需要的Multipar...原创 2019-02-16 14:18:41 · 399 阅读 · 2 评论 -
从DispatcherServlet到HandlerExceptionResolver
tomcat启动DispatcherServlet默认加载的HandlerExceptionResolver有:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver、org.springframework.web.servlet.mvc.annotation.ResponseS...原创 2019-02-14 10:20:44 · 348 阅读 · 0 评论 -
从DispatcherServlet到ViewResolver
tomcat启动DispatcherServlet默认加载的ViewResolver只有org.springframework.web.servlet.view.InternalResourceViewResolver和自定义HandlerExceptionResolver。ViewResolver里面只有一个方法resolveViewName(String viewName, Locale ...原创 2019-02-14 15:34:01 · 408 阅读 · 1 评论 -
Spring-jcl源码(二) -- Log接口
package org.apache.commons.logging;/** * 抽象日志API的简单日志接口,logfactory实例化该接口。实现此接口的类必须具有一个构造函数,该构造函数采用表示此日志“name”的单个字符串参数。 * * 将这些日志级别映射到底层日志系统所使用的概念是依赖于实现的。不过,该实现应该确保这种排序行为符合预期。 * * 性能通常是一个日志记录问题...原创 2019-03-29 14:19:52 · 445 阅读 · 0 评论 -
Spring-jcl源码(三) -- LogAdapter创建Log对象过程
/* 从方法级扩展Log4j的Logger类*/ private static final String LOG4J_SPI = "org.apache.logging.log4j.spi.ExtendedLogger"; private static final String LOG4J_SLF4J_PROVIDER = "org.apache.logging.slf4j.SLF4JPr...原创 2019-03-29 15:12:18 · 845 阅读 · 0 评论 -
DispatcherServlet生命周期
tomcat启动初始化DispatcherServlet 1.加载默认DispatcherServlet.properties配置,加载properties配置中的策略;ClassPathResource resource = new ClassPathResource(DEFAULT_STRATEGIES_PATH, DispatcherServlet.class); de...原创 2019-01-25 11:54:06 · 885 阅读 · 0 评论