随笔分类 -  Spring源码分析

摘要:一、基本流程与总览 《Spring in Action》上给了一张 Spring MVC 最最基本大致处理流程图 解释: ① DispatcherServlet 是 SpringMVC 中的核心控制器,负责接收 Request 并将 Request 转发给对应的处理组件 ② HanlerMappin 阅读全文 »
posted @ 2020-06-29 16:27 词汇族 阅读(208) 评论(0) 推荐(0) 编辑
摘要:一、基本源码分析 1.寻找入口 Spring 的 AOP 是通过接入 BeanPostProcessor 后置处理器开始的 2.BeanPostProcessor BeanPostProcessor的体现在IOC源码分析的doCreateBean中,populateBean的后一句 Object e 阅读全文 »
posted @ 2020-06-13 12:29 词汇族 阅读(232) 评论(0) 推荐(0) 编辑
摘要:一、核心容器类图 1.1 BeanFactory BeanFactory 作为最顶层的一个接口类,它定义了 IOC 容器的基本功能规范,BeanFactory 有三 个重要的子类:ListableBeanFactory、HierarchicalBeanFactory 和 AutowireCapabl 阅读全文 »
posted @ 2020-06-11 17:18 词汇族 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Springboot的jar启动方式,是通过IOC容器启动 带动了Web容器的启动 而Springboot的war启动方式,是通过Web容器(如Tomcat)的启动 带动了IOC容器相关的启动 一、不可不说的Web容器(如Tomcat) 不管是jar启动还是war包启动,都绕不开web容器相关。先了 阅读全文 »
posted @ 2020-03-29 22:58 词汇族 阅读(467) 评论(0) 推荐(1) 编辑
摘要:@SpringBootApplication解析 一、三层注解 二、@ComponentScan 1.相当于 xml 配置文件中的, 2. ComponentScan 默认会扫描当前类所在 package 下的的所有加了相关注解标识的类到 IoC 容器中 3.主要作用就是扫描指定路径下的标识了需要装 阅读全文 »
posted @ 2020-03-25 13:46 词汇族 阅读(329) 评论(0) 推荐(0) 编辑
摘要:这次来分析下切面的执行过程。 1.怎么看? 怎么开始看源码呢?就直接从被增强的方法调用那里打断点,看看怎么执行的: 然后就来到了这: 2.初步分析 里面有段: 就是上篇文章讲到的注解配置暴露代理对象,放到AopContext的ThreadLocal里去,之后就可以随时用 AopContext.cur 阅读全文 »
posted @ 2019-12-08 16:56 词汇族 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1.@EnableAspectJAutoProxy(proxyTargetClass = true) 就是弄了个"org.springframework.aop.config.internalAutoProxyCreator"::AnnotationAwareAspectJAutoProxyCrea 阅读全文 »
posted @ 2019-12-08 14:48 词汇族 阅读(206) 评论(0) 推荐(0) 编辑
摘要:上篇文章我们分析了AnnotationConfigApplicationContext的构造器里refresh方法里的invokeBeanFactoryPostProcessors,了解了@Component和@Bean的原理等,invokeBeanFactoryPostProcessors还没分析 阅读全文 »
posted @ 2019-10-23 21:27 词汇族 阅读(193) 评论(0) 推荐(0) 编辑
摘要:Spring源码分析之IOC的三种常见用法及源码实现(二) 回顾上文 我们研究的是 这两句话的实现,其中来到了主角儿AnnotationConfigApplicationContext的构造器实现: 其中this()和register(annotatedClasses);看完了,我们这次来看看ref 阅读全文 »
posted @ 2019-10-20 21:22 词汇族 阅读(293) 评论(0) 推荐(0) 编辑
摘要:1.ioc核心功能bean的配置与获取api 有以下四种 (来自精通spring4.x的p175) 常用的是前三种 第一种方式 第二种方式 定义 获取 第三种方式 定义 注意: 通过@Bean的形式是使用的话, bean的默认名称是方法名,若@Bean(value="bean的名称")那么bean的 阅读全文 »
posted @ 2019-10-17 19:50 词汇族 阅读(439) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示