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

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

阅读全文



Nacos服务注册中心原理总结

Nacos服务注册中心原理总结客户端启动时会将当前服务的信息包含ip、端口号、服务名、分组名、集群名等信息封装为一个Instance对象,准备向Nacos服务器注册服务,在注册服务之前,会根据Instance中的信息创建一个BeatInfo对象,然后创建...

阅读全文



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

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

阅读全文



Spring AOP 动态代理的执行过程

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

阅读全文



Spring AOP动态代理的创建过程

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

阅读全文