
Spring
文章平均质量分 83
幻想波普星
这个作者很懒,什么都没留下…
展开
-
揭秘Spring(六)之复盘分析Bean的加载
前言前边我们吭哧吭哧的说了一堆bean加载过程中可能的扩展方式,在本节中,我们就从源码的角度详细分析下bean的加载过程。需要提前说明的是,为了便于阅读以及限于篇幅,我展示的代码可能会对源码做出了部分删除省略,当然,相应处都会标记,如果感兴趣的话,可以自己对比源码阅读。getBean()Account account=(Account) beanFactory.getBean("accou...原创 2019-11-13 21:16:56 · 212 阅读 · 0 评论 -
揭秘Spring(四)之InitializingBean与DisposableBean
前言前边我们说了BeanPostProcessor,该接口中有两个方法,InitializingBean发挥作用的时机就在这两个方法之间。从语义也很好看出来,postProcessBeforeInitialization -> initializingBean -> postProcessAfterInitializationInitializingBeanpublic inte...原创 2019-11-10 15:26:03 · 234 阅读 · 0 评论 -
揭秘Spring(三)之BeanPostProcessor
前言其实有想过完整的写baan的生命周期,但是考虑到篇幅,我还是拆分成小点,最后再串起来。前边我们基本说完了容器的启动,接着该看看Bean的实例化了。Bean的实例化其实这一部分我在前一节已经说过了,对于BeanFactory来说,对象默认延迟初始化,即只有getBean()才会初始化; 但是对于ApplicationContext,该容器启动会初始化所有bean的定义,即容器启动就调用...原创 2019-11-08 14:43:38 · 204 阅读 · 0 评论 -
揭秘Spring(二)之BeanFactoryProcessor
前言在上一节中,我们说到了BeanFactory是较为轻量的容器,这个容器启动时会通过BeanDefinitionReader来加载配置文件获得对应BeanDefinition,然后将BeanDefinition注册到BeanDefinitionRegistry。这些是容器启动所做的工作,下一阶段就该实例化了。如果当前使用的容器是BeanFactory,那么在getBean()时才会实例化;...原创 2019-11-07 16:38:14 · 702 阅读 · 0 评论 -
揭秘Spring(一)之BeanFactory和FactoryBean
BeanFactoryBeanFactory和ApplicationContext是Spring中的两种容器。BeanFactory默认采用延迟初始化策略,所以相对来说,容器启动较快,所需资源不多。ApplicationContext间接继承自BeanFactory,增加国际化等高级功能,其管理的对象在容器启动后默认全部初始化完成,所以启动所需要资源较多,所需时间长public i...原创 2019-11-06 22:09:19 · 173 阅读 · 0 评论 -
Spring AOP之详解代理模式
aspect oriented programming1、动态代理 必须实现接口InvocationHandler2、动态字节码增强 为指定类生成子类,在子类中加入横切逻辑,应用程序在执行期间执行的是子类,这种方法不需要实现接口,但是若指定类是final就不行3、自定义类加载器Joinpoint 进行织入操作的执行点(可以获取该点所在的一些信息)PointCut 指定切入的位置,可以使...原创 2019-09-19 17:23:31 · 183 阅读 · 0 评论