Spring源码解析(1):Bean容器
这一篇开始,正式进入Spring源码解析。本系列主要讨论单例Bean。需要的知识储备有:如何阅读Spring源码Spring基础(1):两个概念Spring基础(2):放弃XML,走向注解Spring基础(3):复习尚硅谷Spring注解开发视频_雷丰阳老师源码之所以难,是因为体量庞大、抽象层次深。如果之前从来没看过,很难有全局观。本系列采用先局部,再整体,再局部的方式展现Spring的源码。今天
这一篇开始,正式进入Spring源码解析。本系列主要讨论单例Bean。需要的知识储备有:如何阅读Spring源码Spring基础(1):两个概念Spring基础(2):放弃XML,走向注解Spring基础(3):复习尚硅谷Spring注解开发视频_雷丰阳老师源码之所以难,是因为体量庞大、抽象层次深。如果之前从来没看过,很难有全局观。本系列采用先局部,再整体,再局部的方式展现Spring的源码。今天
为了让大家更容易接受我的一些观点,上一篇很多笔墨都用在了思路引导上,所以导致文章可能比较臃肿。这一篇来总结一下,会稍微精简一些,但整体趣味性不如第二篇。(上一篇说过了,目前介绍的2种注入方式的说法其实不够准确,后面源码分析时再详细介绍)主要内容:如何把对象交给Spring管理依赖注入自动装配<bean>、@Component还是@Bean聊一聊@ComponentScan如何把对象交给
上一篇并没有实际地带大家去看源码,而是介绍了两个概念:BeanDefinitionBeanPostProcessor当然,我介绍得非常笼统,不论是BeanDefinition还是BeanPostProcessor其实都有着较为复杂的继承体系,种类也很多。作为Spring系列第一篇,主要目的还是帮大家摆脱对Spring的刻板认知,刷新你们的三观,毕竟太多人对Spring的理解仅限于所谓的IOC和AO
主要内容:必要的知识储备让扁平的文字立体起来画中有话“黄老师脸盲,看谁都能想到明星”源码阅读的几个原则必要的知识储备去年(2018)我花了很多时间在SSM上面,因为和大部分人一样,面对一大堆配置我感到手足无措,不知道什么是什么,也不知道它为什么起作用。其实归根到底,我们之所以学不明白SSM,觉得隔靴搔痒,个人认为是因为“配置式开发”和我们之前“编码式开发”差别太大了。不论是xml还是注解,和我们平
最近看了点Spring的源码,于是来稍微扯一扯,希望能帮一部分培训班出身的朋友撕开一道口子,透透气。广义上的Spring指的是Spring整个项目,包含SpringBoot、SpringCloud、SpringFramework、SpringData等等,本系列文章只讨论狭义上的Spring,也就是SpringFrameWork。主要内容:盲点Spring说,万物皆可定义默默付出的后置处理器利用后
2018年我刚入行时曾经写过一篇反射相关的博客:初识反射。Emmmmm....现在看来还是非常稚嫩的。晚上要在B站直播讲解JDK动态代理,免不了要用到反射。于是,想着还是把反射机制再梳理一遍,有兴趣的朋友可以看看。我不会去否认过去的每一篇文章,它们未必精确却代表了自己当时所能理解的限度...每写完一篇文章,我都能感受到原本一个个孤立的知识由点到线,由线到面,最终拔地而起变成一个个立体的概念,让我有
注意:从Tomcat8开始,默认编码已经改为UTF-8,所以已经不会出现Get请求乱码问题了。只需处理Post乱码。我们往常对乱码的处理都放在Servlet的doGet和doPost方法中:这个案例采用的Tomcat7但是这样太麻烦了,每写一个Servlet都要处理乱码。于是就想到用Filter处理。我能想到的有两种处理方式:装饰者模式、动态代理。装饰者模式处理乱码的方案大家可以直接看崔老师的视频
在这一篇文章里,将会讨论ServletContext以及Servlet映射规则。这两个知识点非常重要,ServletContext直接关系到SpringIOC容器的初始化(请参考ContextLoaderListener解析),而Servlet映射规则与SpringMVC关系密切。可以说,作为初学者只要把这两点搞清楚,那么对Spring/SpringMVC的理解将会超过70%的程序员。我没开玩笑,
忘写Servlet了,还是有很多东西想聊聊。向大家保证,写完这几篇就真的收手。主要内容:Servlet的前世今生我所理解的JavaWeb三大组件如何编写一个ServletServlet的前世今生类似于Servlet是Server Applet(运行在服务端的小程序)等其他博文已经提过的内容,这里就不重复了。它就是用来处理浏览器请求的。之前在Tomcat外传中我们聊过,所谓Tomcat其实是Web服
Filter本身和Listener一样,在使用上是非常简单的。就是配置xml(或者注解),然后实现接口即可。所以这里只挑我认为有价值的东西写写。本文不适合从未学习过Filter的朋友,请先去看:Filter-黑马程序员。主要内容:为什么需要Filter山寨FilterChain(责任链模式)Filter、Interceptor、AOP的执行位置为什么需要Filter假设现在有一个需求:我们做了一个