注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)

前言本篇博文和Spring的上下文启动有较强的关联性,同时需要读者对Spring中的BeanPostProcessor有较为熟悉的了解。若之前没有接触过的同学,建议先点击一下相关阅读的文章列表,先对Spring容器有个大致的了解会效果更佳~这是曾发生在我...

Read More


Spring事务@Transactional的创建和执行过程

@Transactional注解的运行原理首先生成事务类的动态代理对象,在执行动态代理事务类的事务方法时,会执行事务拦截器TransactionInterceptor;接着事务核心组件TransactionAspectSupport开始执行事务方法主流程...

Read More


Spring AOP 动态代理的执行过程

JDK代理调用代理类$Proxy的方法时,会调用super.h.invoke方法,该方法实际调用的是JdkDynamicAopProxy#invoke方法;判断当前方法是equals方法且实现类未对equals方法进行重新,如果是,就调用JdkDynam...

Read More


Spring AOP动态代理的创建过程

从IOC容器中获取bean;调用bean后置处理器AbstractAutoProxyCreator的postProcessBeforeInstantiation()方法;判断是否指定targetSource,如果指定了targetSource会跳过bea...

Read More


Spring Bean生命周期

Spring Bean生命周期调用 getBean(name) 方法来加载name对应的单例对象,这里只分析Spring的单例对象生命周期。转换并解析bean的名称,处理bean别名,获取到真正的bean名称;如果beanName是以&开头的,就...

Read More