![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 83
野生技术协会
杂乱个人资料记录
展开
-
Spring的IOC依赖的处理方式的演示
前言:spring在getBean的时候,能够自动处理加载依赖的bean,即先实例化初始化依赖bean,然后再实例化本bean,这个过程中依赖以及循环依赖的校验是怎么处理的,我们用一个小案例进行演示。1、概述我们自制一个集BeanDefinition注册,bean实例化,依赖校验和依赖关系注册等等一系列功能为一体的BeanFacotry,即把spring继承各种接口的功能基于一体的BeanFaoctry(DefaultListableBeanFactory)。首先这个BeanFactory需要有能够原创 2021-01-29 21:40:46 · 234 阅读 · 3 评论 -
spring源码分析(一) IOC源码分析
spring-ioc源码分析概述:spring是一个ioc容器,ioc就是我们把对象之间的依赖关系交给spring进行管理,比如说,我们在配置文件或者java配置类定义了bean的各种关系,spring负责加载这些bean,并维护了类之间的依赖,如果我们需要使用bean,直接getBean即可,这个就是spring作为Ioc容器的主要功能。一、类介绍1、ApplicationContext的总览为了分析ioc的原理,我们先从可以接触到的applicationContent类进行入手,下面这个原创 2021-01-28 22:58:55 · 257 阅读 · 5 评论 -
spring-boot 启动自动加载配置的原理相关
spring-boot 自动加载的原理概述:spring-boot项目中,我们只要创建一个启动类并且标注@SpringBootApplication注解,就可以完成自动化的配置,这其中的原理,主要就是@SpringBootApplication注解的作用,下面我们详细分析下这个注解。一、SpringBootApplication注解@SpringBootApplication注解主要包装了三个子注解如下:@SpringBootConfiguration、@EnableAutoCon...原创 2021-01-27 22:08:43 · 408 阅读 · 3 评论 -
假装看源码之springmvc (四) springmvc的处理方法返回值处理
springmvc的处理方法返回值处理在springmvc我们自己创建的Controller中的方法,可以返回不同的返回值,而不管是什么样的返回值,最后的请求都会被正确的处理,在前面视图解析篇中,我们主要关注点是视图解析找视图,model数据合并,渲染视图,然而在这个过程中,我们忽略了这个解析视图的名称是怎么来的,resetFul请求(responseBody)没有视图,又是怎么中断请求的,不同的返回值是怎么通用的处理成modelAndValue的,带着这些问题,为了更加深入的探究这里面的奥秘,今天..原创 2021-01-26 22:46:14 · 477 阅读 · 3 评论 -
假装看源码之springmvc (三) springmvc的视图解析
springmvc的视图解析概述:springmvc的视图解析主要是通过ViewResolver构建View,然后组装model数据,最后渲染视图,ViewResolver是由我们配置的,默认提供的ViewResolver是InternalResourceViewResolver即Jsp的视图,下面我们在源码里找到视图解析的原理和实现。一、ViewResolver分析springmvc视图解析是通过ViewResolver根据view的名称,来查询指定的view,而View复制渲染,Resolv原创 2021-01-23 00:25:37 · 244 阅读 · 5 评论 -
LinkedHashMap实现LRU以及其在spring-mvc中AbstractCachingViewResolver运用
LinkedHashMap实现LRU以及其在spring-mvc中AbstractCachingViewResolver运用一、LinkedHashMap实现LRU1、LinkedHashMap有一个三个参数的构造函数,new LinkedHashMap<Object, View>(size, 0.75f, true),其中第三个参数accessOrder的作用是如果元素被访问的情况下,是否把元素添加到链表的尾部。结合LinkedHashMap的一个protected的removeEld原创 2021-01-22 23:15:25 · 260 阅读 · 3 评论 -
假装看源码之springmvc (二) 重定向带参数RedirectAttributes的原理
重定向带参数RedirectAttributes的原理一、 概述:有些功能需要在重定向的时候,带上上一次请求的参数,第一个方法,可以采用重定向拼接参数方法,第二个方法,可以采用RedirectAttributes的方式,用它来添加需要重定向带上的参数,而RedirectAttributes也有2个方式。然后重定向请求返回到页面的时候,才可以得到这个请求的参数,或者用@ModelAttribute获取。RedirectAttributes重定向带参数的2个方式:方式1: 通过att...原创 2021-01-21 22:54:46 · 584 阅读 · 3 评论 -
spring-mvc拦截器的原理和范例演示
spring-mvc拦截器 概述: spring-mvc拦截器主要是通过实现HandlerInterceptor接口,在spring-mvc的核心DispatcherServlet执行主要处理请求方法doDispatch时,由处理器映射器HandlerMapping根据请求对象requset的请求路径,找到对应的Handler以及包装HandlerInterceptor实现类组装成HandlerInterceptorChain,然后由HandlerInterceptorChain根据Ha...原创 2021-01-21 20:31:02 · 240 阅读 · 3 评论 -
spring各种初始化方法演示
测试类:package source.day2;import org.springframework.beans.BeansException;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.BeanFactoryAware;import org.s...原创 2018-03-25 00:20:31 · 477 阅读 · 3 评论 -
假装看源码之springmvc (一) 如何进行请求参数的解析
首先,我们先回忆下日常开发中的骚操作,比如请求一个url /product?id=xxx&name=yyy, 再controol中的对应映射方法,只要填一个id的参数,就能得到xxx的值,又比如我想得到request的值,直接填个request,它就给我了,仿佛springmvc要啥就有啥,非常的神奇,下面就看下源码是如何实现的。在知道springmvc外围方法运行原...原创 2018-03-24 16:56:15 · 3012 阅读 · 3 评论 -
spring的事件监听机制的简化实现
import java.util.EventListener;import java.util.EventObject;import java.util.LinkedHashSet;import java.util.Set;/** * spring的事件模式 */public class SpringListener{ public static void main(Str原创 2018-03-19 20:57:04 · 347 阅读 · 3 评论