摘要: 到最后我们再来看createProxy方法,查看它到底是怎么实现AOP的 它还顺手把我们的算是切面拦截的拦截器放了进来 进来之后首先就去做了一个proxyFactory的创建,然后进行了copyFrom并给上了当前实例 这些属性的作用一一对应这exposeProxy会将一些属性设置到threadLo 阅读全文
posted @ 2025-05-29 20:26 七森星罗 阅读(15) 评论(0) 推荐(0)
摘要: 首先我们先来看一下CGlib和jdk动态代理的区别 我们再来讲解spring中AOP的源码,首先我们回到createBean这一块,先找到前后置的处理,一听其实就能了解,AOP代理肯定是在bean创建完成前做的处理,不然你如何对代码进行增强? 我们找到resolveBeforeInstantiati 阅读全文
posted @ 2025-05-29 19:31 七森星罗 阅读(27) 评论(0) 推荐(0)
摘要: 具体去做bean的创建的操作,接下来我们就看这个方法 首先我们先拿到一个顶级的接口beanWrapper,首先判断我们传入的rootBeanDefinition是否是单例,如果是的话,那么就去缓存找是否有创建了的缓存,有的话就remove并且返回给instanceWrapper,这个this.fac 阅读全文
posted @ 2025-05-29 16:57 七森星罗 阅读(28) 评论(0) 推荐(0)
摘要: spring源码getBean方法中的createBean方法,从一个接口找到引用 首先就是日志,然后将传进来的rootBeanDefinition进行赋值,然后是resolveBeanClass就是从rootBeanDefinition中获取到class返回,我们就能拿到class,我们进入查看r 阅读全文
posted @ 2025-05-28 20:06 七森星罗 阅读(22) 评论(0) 推荐(0)
摘要: 我们再来看getBean方法的最后一块 这里是个什么情况呢,requiredType就是方法的参数,我们查看一些方法,发现getBean方法有很多重载方法,如果requiredType不为null,那么就会进入比如第二种情况,传入requiredType就不需要进行强转了,那么requiredTyp 阅读全文
posted @ 2025-05-28 17:34 七森星罗 阅读(27) 评论(0) 推荐(0)
摘要: 我们看完第一部分再来看第二部分,第二部分代码量较多,从265行的else开始到381行结束 我们慢慢来看 首先我们来说说这一块 因为我们在else之前我们尝试去获取过单例并想进入判断,但是为空,那么就说明这个bean要么没创建要么就不是一个单例的bean,那么进入else就得判断一下是否是多例正在创 阅读全文
posted @ 2025-05-28 14:56 七森星罗 阅读(20) 评论(0) 推荐(0)
摘要: 在前面没有讲过getBean方法,在这里将getBean方法讲述一下 getBean方法很多地方都有,但是他们都是通过DefaultListableBeanFactory通过多态的形式进行的调用,所以它的getBean唯一方法只可能出现在它的父类也就是AbstractBeanFactory中 然后又 阅读全文
posted @ 2025-05-28 11:56 七森星罗 阅读(24) 评论(0) 推荐(0)
摘要: refresh方法或者说spring容器初始化的最后一个方法 它清空了缓存 里面有四个clearCache,都可以进入看看他们清除的是什么,首先是 method的缓存进行清空 类属性的清空 再看第二个清空 还有一层封装 进入第一个查看 看起来像是spring.lang中的注解缓存 第二个方法 第二个 阅读全文
posted @ 2025-05-26 20:44 七森星罗 阅读(16) 评论(0) 推荐(0)
摘要: refresh中的finishRefresh方法 以下几个方法是这个方法的核心模块 第一个方法清除缓存,王校长讲的好像不对啊?这里这个getBeanNamesForType方法,只查询到往BeanPostProcessor中缓存数据,但是没看到往Resource里放?它这里清除的缓存应该是这些?ge 阅读全文
posted @ 2025-05-26 20:18 七森星罗 阅读(20) 评论(0) 推荐(0)
摘要: 到了refresh方法了 进入查看方法体,发现没有方法体 同样的,它和postProcessBeanFactory方法一样都是模板方法模式,都是由子类去复写,springboot框架就复写了这个方法,到时候直接去看springboot里的这个方法 再来看finishBeanFactoryInitia 阅读全文
posted @ 2025-05-25 16:44 七森星罗 阅读(21) 评论(0) 推荐(0)