spring
文章平均质量分 80
搜狐梁雪
这个作者很懒,什么都没留下…
展开
-
SpringMVC源码剖析之自动注入Request,Response
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言 我们在使用SpringMvc处理请求的时候,可以在controller层或者service层注入HttpServletRequest对象,controller是一个单例对象,在容器初始化的过程中会对其进行属性注入,然而httprequest是随着每次请求的变化而变化的,所以基本不可能在初始化的时候得....原创 2022-05-16 22:11:25 · 1663 阅读 · 0 评论 -
全文索引在同一事务中不生效
beginupdate phone set unique_er = 16523456789 where id = 662141370select * from phone where match(unique_er) against (16523456789)commit插入数据之后,再根据全文索引查询是不可以的。原创 2022-04-18 22:14:29 · 239 阅读 · 0 评论 -
JWT单点登录源码分析
目录前言一、创建token二、验证token总结前言 JWT在创建的token由header、payload和signature三部分组成,每一部分使用"."分隔,其中header中存储加密的模型,payload中存储需要传输的信息和过期时间等,signature中存储加密后的字符串,使用base64编码提高安全性。在校验的时候也是根据上述规则进行分割,分别进行校验。一、创建token 在项目中,我们通过调用JWT.create.sign()方...原创 2021-10-12 21:29:04 · 8255 阅读 · 0 评论 -
Feign源码解析
目录前言一、EnableFeignClients二、FeignClientsRegistrar三、FeignClientFactoryBean四、FeignInvocationHandler五、动态URI参数总结前言 Feign作为调用http请求的工具,在java后端编程中有广泛的应用,能够简化代码书写,但同时也隐藏了大量的处理细节,作为开发者,应当适当了解其源码,解决开发中的问题。一、EnableFeignClients ...原创 2021-09-27 20:50:01 · 699 阅读 · 0 评论 -
springcloud中zuul网关源码分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在这中秋佳节之际,身为单身狗总要写点什么记录一下。今天主要分析一下springmvc中的AbstractHandlermapping源码。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、原创 2021-09-23 21:16:52 · 496 阅读 · 0 评论 -
spring aop源码分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言 aop作为spring的两大特性之一,广泛应用于日志记录,异常捕获等,在使用动态数据源的时候还可以通过拦截,将注解中的值设置到threadlocal中。本文基于源码分析aop动态代理的创建和运行流程。一、EnableAspectJAutoProxy 首先从EnableAspect......原创 2021-07-30 14:05:53 · 363 阅读 · 0 评论 -
FutureTask源码解析
目录前言二、运行流程分析1.run2.get3.cancel4.runAndReset三、ListenableFutureTask总结前言 实现了Runnable接口的类能够新建线程运行,Future接口规范了线程的生命周期,Callable接口能够获得方法的返回值。FutureTask实现了Runnable和Future接口,同时有Callable属性,能够实现三者的功能。一、状态 FutureTask有NEW,COMPLETING...原创 2021-07-19 21:52:45 · 436 阅读 · 0 评论 -
mybatis-spring启动流程源码
目录前言二、扫描Mapper接口,注册Bean定义1.@MapperScan2.MapperScannerConfigurer三、实例化MapperFactoryBean总结前言 在上一篇文章中分析了mybatis的启动流程,主要包括SqlSessionFactory的创建和configure配置文件的解析,然后是sqlSession的创建,最后完成了mapper动态代理对象的创建,本文主要分析在有spring参与的情况下,mybatis的启动流程。一、启动配...原创 2021-07-05 20:46:39 · 354 阅读 · 0 评论 -
spring中属性注入相关源码分析
目录前言一、整体流程二、findAutowiringMetadata三、inject1.整体流程2.@Value注解解析过程3.@Autowired注解解析过程四、@Lazy注解的作用总结前言 spring使用@Autowired和@Value实现了属性的注入,本文重点分析两种注入方式的源码,然后说明@Lazy注解在属性注入时的作用,将上篇文章中的遗留问题解答。一、整体流程 对@Value和@Autowired注解的处理...原创 2021-06-19 14:48:41 · 372 阅读 · 0 评论 -
spring中循环依赖源码分析
目录前言一、三级缓存二、bean的创建过程三、循环依赖四、aop代理的影响五、async代理的影响总结前言本篇文章主要分析bean的创建过程和循环依赖的相关源码,并针对aop代理和async代理进行了重点分析,为了解决async代理存在的问题,涉及到@Lazy相关的内容,会在以后的文章中分析。一、三级缓存spring中有三级缓存,一级缓存存储初始化完成的对象,二级缓存存储循环依赖存在时暴露的早期对象,三级缓存存储对象实例化之后提供的获取对象的方法,同时对于aop.原创 2021-06-17 20:52:25 · 230 阅读 · 0 评论 -
spring中异步任务源码分析
目录前言一、@EnableAsync二、AsyncAnnotationBeanPostProcessor三、AsyncExecutionInterceptor四、自定义异步线程池总结前言在spring框架中,我们可以使用async注解实现方法的异步执行,但是如果不了解内部源码的运行机制,也会导致很多问题,比如默认线程池的问题,async导致循环依赖报错的问题等,本篇文章主要分析async任务执行的全流程,并给出自定义异步线程池的方法,关于循环依赖相关内容会在下篇文章中给出。.原创 2021-06-16 13:48:45 · 509 阅读 · 0 评论 -
spring中定时任务相关源码分析
目录前言一、EnableScheduling二、ScheduledAnnotationBeanPostProcessor1.postProcessAfterInitialization2.finishRegistration3.ReschedulingRunnable三、自定义任务线程池和定时任务总结前言spring中提供了定时任务的功能,简化了一些重复执行任务的编写过程,但同时也将内部细节隐藏了起来,因此,熟悉相关源码是必要的。定时任务的执行过程基本都是在Sched原创 2021-06-11 20:29:58 · 648 阅读 · 0 评论 -
spring和mybatis的事务相关源码分析
目录前言一、collection的获取过程二、sqlsession的相关源码分析1.整体流程2.sqlsession的获取3.sqlsession的提交方法总结前言在有事务的情况下,为了保证事务的特性,spring和mybatis结合的过程做了哪些处理呢?本文从源码上分析,首先分析如何保证spring和mybatis获取connection的一致性,然后分析sqlsession获取的过程以及带来的影响。一、collection的获取过程在有spring事务参与的情原创 2021-06-07 17:54:44 · 317 阅读 · 0 评论 -
spring事务的传播机制源码分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言一、传播事务建立过程二、事务唤醒步骤总结前言本文主要从源码角度分析事务的传播机制的实现原理,理解有限,欢迎交流。一、传播事务建立过程首先分析一下事务传播机制的建立的大致流程,主要是在有外层事务的情况下,对外层事务是否挂起,是否创建并开启新的事务,其中的suspend方法比较重要,是将外层事务的一些属性记录下来并返回,最终写入到新的事务中,方便在内层事务运行结束后再次执行外层事务。 pr.原创 2021-06-06 11:32:37 · 274 阅读 · 0 评论 -
spring事务相关源码分析
目录前言二、创建事务1.总体流程2.获取事务二、事务回滚三、提交事务总结前言spring的事务和mybatis有什么关系,如何实现的提交和回滚,隔离级别和传播机制如何发挥作用,这一切的答案都将在本文揭晓,本文主要集中与事务相关的运行流程,关于容器启动过程中的事务相关配置过程没有涉及,以后有时间再说吧。一、事务执行的总体流程事务的整体流程表面上看比较简单,首先是创建事务,运行业务代码,当有需要回滚的异常发生时,回滚当前事务,没有异常发生,就提交当前事务,当然,当使用原创 2021-06-04 19:32:18 · 255 阅读 · 1 评论 -
spring容器的启动流程源码分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..原创 2021-06-01 18:11:58 · 101 阅读 · 0 评论 -
DispatcherServlet的请求处理流程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言上一篇文章中分析了tomcat的请求处理流程,在springmvc项目中,tomcat接收到请求后,最终会将请求发送到dispatcherServlet中,dispatcherServlet可以看成是tomcat中的一个普通servlet,本文就dispatcherServlet的处理过程进行分析。一、se..原创 2021-05-30 12:56:26 · 1437 阅读 · 1 评论