![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
酒罢方醒
向上啊,混蛋
展开
-
spring笔记
1 spring MethodReplacer 的reimplement是用来替换的,不能通过反射调用方法,否则会陷入死循环public class CellWrapper implements MethodReplacer{ public Object reimplement(Object obj, Method method, Object[] args) throws Throwable...原创 2017-12-11 21:19:16 · 143 阅读 · 0 评论 -
spring那些事 refresh 内部研究4-onRefresh和finishBeanFactoryInitialization方法
spring的加载过程(web) (8)–onRefresh转载 2019-02-17 14:19:59 · 266 阅读 · 0 评论 -
spring那些事 refresh 内部研究5-preInstantiateSingletons
preInstantiateSingletons1获取所有有待初始化的bean实例名称2初始化bean2.1获取MergedLocalBeanDefinition,因可能父容器存在相同Bean2.2如果该bean并非抽象,且是单例,同时并非延迟加载,那么便初始化(工厂类又会根据其isEagerInit 进行初始化)3对实现了SmartInitializingSingleton接口的bea...原创 2019-02-17 15:10:14 · 318 阅读 · 0 评论 -
spring那些事 研究IOC容器6-1
spring那些事 研究IOC容器6spring 的set constructor 初始化提出问题constructor 和 setter的优先问题,constructor对同一个元素配置多个会出现什么问题,同样的setter方法针对同一个元素配置多次又会出现什么问题?做出假设必然的constructor优先于setter ,constructor和setter各自对同一元素配置多次会...原创 2019-02-11 16:45:02 · 119 阅读 · 0 评论 -
spring那些事 杂记1
有人已经做的很好了prepareBeanFactory源码分析补充一点,为什么忽略自动装配,ApplicationContextAwareProcessor会对这些属性进行设置转载 2019-02-13 23:05:48 · 95 阅读 · 0 评论 -
@RestController 注释下的重定向探讨
@RestController 注释下的重定向探讨背景: 在工作中遇到需要@RestController 内部的方法直接进行重定向或者转发我们知道@RestController注解后,方法默认返回json。但是如果返回ModelAndView 则依然按ModelAndView曾经的逻辑走,那么springmvc内部的逻辑是如何走的呢?HandlerMethodReturnValueHa...原创 2019-05-07 22:56:38 · 951 阅读 · 0 评论 -
springmvc handler mapping 探讨
springmvc handler mappingspringmvc 内部初始化的HandlerMapping "faviconHandlerMapping" -> {SimpleUrlHandlerMapping} "requestMappingHandlerMapping" -> {RequestMappingHandlerMapping} "be...原创 2019-07-05 08:22:21 · 124 阅读 · 0 评论 -
SpringMVC 如何扫描到@Controller @RestController 等注解,并将其实例化到容器当中
Spring提供了一种叫做BeanFactoryPostProcessor的容器扩展机制。该机制允许我们在容器实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。这就相当于在容器实现的第一阶段最后加入一道工序,让我们对最终的BeanDefinition做一些额外的操作,比如修改其中bean定义的某些属性,为bean定义增加其他信息等。 (转自 《Spri...原创 2019-07-05 08:24:35 · 2901 阅读 · 1 评论 -
spring那些事 研究IOC容器6-2
spring那些事 研究IOC容器6-2spring ConstructorResolver#autowireConstructor源码分析(5.1.4.RELEASE)从163行开始,ConstructorResolver会针对多个构造函数进行选择,选择过程如下1如果已经选出合适的构造函数,直接跳出循环2如果配置的构造参数小于此次循环中构造函数的参数数量,继续循环3如果构造参数reso...原创 2019-02-11 13:29:32 · 160 阅读 · 0 评论 -
spring那些事 refresh 内部研究3-initApplicationEventMulticaster方法
Spring事件体系分析的已经很好了补充一点listener的注册不仅在registerListeners(); 在registerBeanPostProcessors方法中添加ApplicationListenerDetector beanPostProcessor 这个前置处理器用来添加容器内部监听器...转载 2019-02-16 16:00:38 · 259 阅读 · 0 评论 -
spring那些事 研究IOC容器1
spring那些事 IOC容器IOC 是什么?Marting Flow 大神的陈述: 命令行界面和用户图形界面。用户图形界面相对于命令行界面就是控制反转。客户需要的服务不再是自身构造调用,而是通过第三方来获取。依赖注入和服务定位是实现控制反转的两种方式。2.依赖注入依赖注入有三种方式:构造注入,属性注入,接口注入。接口因为其侵入性,没有被IOC容器广泛采用。而构造注入和属性注...原创 2019-01-28 23:11:59 · 119 阅读 · 0 评论 -
spring那些事 refresh 内部研究1-registerBeanPostProcessors方法
registerBeanPostProcessors通过PostProcessorRegistrationDelegate#registerBeanPostProcessors方法进行BeanPostProcessor 注册PostProcessors有几点要说:MergedBeanDefinitionPostProcessorPriorityOrderedBeanPostProces...原创 2019-02-14 23:02:20 · 122 阅读 · 0 评论 -
spring那些事 研究IOC容器3
servletContext 和 applicationContext 如何实现双向关联?当在web.xml 中配置的org.springframework.web.context.ContextLoaderListener 监听到servletContext启动时会触发springApplication的初始化this.context = createWebApplicationCont...原创 2019-02-05 16:05:00 · 112 阅读 · 0 评论 -
spring那些事 研究IOC容器4
spring那些事 研究IOC容器4spring 的三种配置方式xml配置实际上也可以通过properties和groovy 进行spring的配置, 这里将groovy, properties 和xml 归为一类配置方式在调用refresh()方法时会创建beanFactoryConfigurableListableBeanFactory beanFactory = obtainFr...原创 2019-02-06 18:20:05 · 102 阅读 · 0 评论 -
spring那些事 研究IOC容器5
BeanDefinitionRegistry的注册实现分析(提出问题)如果自己实现org.springframework.beans.factory.support.BeanDefinitionRegistry接口?()(做出假设)1判断beanDefinition的合法性1.1 相对应的类是否存在1.2 是否已经注册过2必然的并发插入考虑3如何快速定位对应名字的beandefi...原创 2019-02-07 17:24:15 · 113 阅读 · 0 评论 -
spring那些事 研究IOC容器2
1XmlWebApplicationContext和ClassPathXmlApplicationContext 的不同之处原创 2019-01-29 23:49:10 · 80 阅读 · 0 评论 -
spring那些事 从refresh研究开始2-initMessageSource
##initMessageSource方法研究原创 2019-02-16 14:53:34 · 140 阅读 · 0 评论 -
spring 那些事 从AnnotationConfigApplication说起1
转自—spring源码分析(1)——AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner的初始化spring源码分析(1)——AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner的初始化2018年03月01日 22:42:00 shenmaxiang 阅读数:...转载 2019-02-21 21:33:15 · 126 阅读 · 0 评论 -
springmvc InitBinder探讨1
什么时候知道的该取调用initBinder();HandlerMethodArgumentResolver(暂且将其命名翻译为方法参数解析器),是一个负责将上下文请求的参数值解析入请求方法的参数中 具体的解析器列表如下:1. RequestParamMethodArgumentResolver2. RequestParamMapMethodArgumentResolver3. PathVa...原创 2019-06-29 23:20:52 · 224 阅读 · 0 评论