
spring源码
文章平均质量分 85
拾光师
瞧一瞧,看一看,好吃还不贵。量大管饱
多年java开发经验,现征战于互联网广告行业
分享各种java相关知识,每周更新
展开
-
spring源码分析之事务源码分析
而且继承的类也是一样的,都是AbstractAdvisorAutoProxyCreator,之后的逻辑就与AOP的很是相似了,找Advisor类的bean,是有一个的,注册BeanFactoryTransactionAttributeSourceAdvisor。与AOP的标签解析相同,tx:annotation-driven标签也是自定义标签,http://www.springframework.org/schema/tx找到对应的handler是TxNamespaceHandler。原创 2022-10-07 12:15:09 · 536 阅读 · 0 评论 -
spring源码分析之AOP开启注解
在获取bean的时候会创建bean,但是不要忘了该类还实现了一个BeanFactoryAware接口,在创建bean之后会进行初始化,也就会执行org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#invokeAwareMethods方法。即进行自定义标签的解析,会去META-INF/spring.handlers中寻找对应的handler,该标签的namespace是。原创 2022-10-06 14:34:35 · 764 阅读 · 0 评论 -
spring源码分析之循环依赖
对于setter注入造成的循环依赖,spring采用的是提前暴露刚完成的构造器实例化但未完成setter方法注入的bean来实现的,而且只能解决单例作用域的bean。使用构造器注入构成循环依赖,这种方式无法进行解决,抛出了BeanCurrentlyInCreationException异常。spring中将循环依赖处理分为了两种情况。在创建bean之前会进行检测。在创建bean之后会进行移除。原创 2022-09-30 12:59:44 · 322 阅读 · 0 评论 -
spring源码分析之获取bean
在进行获取bean的时候使用getBean方法来进行获取,那么就从getBean来作为入口,看一下获取bean的流程。从缓存singletonObjects中加载单例,如果加载不成功尝试从singletonFactories中加载。主要是为了解决FactoryBean的情况。这个方法比较长,分为很多步。依赖注入是在这里进行的。三级缓存解决循环依赖。原创 2022-09-27 15:18:52 · 871 阅读 · 0 评论 -
spring源码分析之ProxyFactoryBean
ProxyFactoryBean是spring ioc环境中创建AOP应用的底层方法,通过它完成了对AOP的封装。原创 2022-09-26 15:55:55 · 324 阅读 · 0 评论 -
spring源码分析之上下文构建
以ClassPathXmlApplicationContext为例来说明一个简单地创建ApplicationContext实例的方法,spring会做什么事呢?spring在初始化上下文的最重要的方法就是这个refresh()方法了prepareRefresh初始化容器初始化之前的初始化工作obtainFreshBeanFactory创建BeanFactory创建BeanFactory,实现BeanFactory的全部功能refreshBeanFactoryorg.springframewo原创 2022-09-21 18:01:58 · 414 阅读 · 0 评论