
SPRING
文章平均质量分 95
Life journey
技术没有边界
展开
-
seata源码分析(AT)-事务提交和回滚
seata源码分析-事务提交和回滚一、事务会回滚1、客户端的回滚发起点2、服务端的处理3、客户端的回滚逻辑二、事务的提交1、客户端处理2、服务端的处理2.1、服务端的异步处理点1(修改事务状态为异步提交)2.2、服务端的异步处理点2(开启调度任务获取异步提交事务)3、客户端的处理3.1、客户端的同步处理3.2、客户端的异步处理三、seata工作原理四、seata源码结构图一、事务会回滚在业务方法中加了@GlobalTransactional过后,开启全局事务,其实就是一个aop,这个已经说过了,现在要说原创 2021-05-16 10:00:53 · 3328 阅读 · 8 评论 -
seata源码分析(AT)-分支事务注册
seata源码分析分支事务注册一、分支事务的注册1、客户端的处理1.1、获取连接1.2、sql预处理1.3、执行execute得到结果1.4、重试机制1.5、分支本地事务的提交2、服务端的处理(TC)一、分支事务的注册分支事务的注册是在seata的一个很重要的数据源DataSourceProxy中去做的,简单来说就是通过数据源这一层去干预了数据库的执行而达到分支事务的注册。1、客户端的处理所以我们直接进入DataSourceProxy的源码看获取连接的地方,我就来模拟一个过程就是我们如果在分支事务中原创 2021-05-16 09:50:24 · 1786 阅读 · 0 评论 -
seata源码分析(AT)-开始事务
seata源码分析基于1.4.0原创 2021-05-16 09:42:19 · 1154 阅读 · 1 评论 -
Sentinel1.8.0源码分析
Sentinel1.8.0源码分析Sentinel介绍Sentinel涉及的限流算法计数器法滑动时间窗口算法漏桶算法令牌桶算法@SentinelResource注解的源码解析SentinelResourceAspect源码结构图Sentinel介绍sentinel主要用来做资源保护,也就是限流降级熔断调度,一般我们说的限流主要是针对于接口来说的,当接口的处理能力达到了上线过后,如果这个时候接口还继续接受请求,那么导致的结果就是服务崩溃,无法正常的处理业务,而sentinel的主要作用就是最服务要调用的接原创 2021-05-06 21:54:33 · 654 阅读 · 3 评论 -
dubbo中的SPI机制的使用和源码分析
dubbo中的SPI机制的使用和源码分析SPISPI机制概述JDK中的SPI机制dubbo SPIdubbo spi架构图dubbo aopdubbo的依赖注入dubbo中@SPIDubbo SPI源码分析ExtensionLoadergetExtensionLoader(Class class)getExtension(String name)Dubbo中的IOCcreateAdaptiveExtensionClassSPI为什么要分析 dubbo的SPI机制,我只能说dubbo的SPI机制是dubb原创 2021-02-27 22:46:22 · 473 阅读 · 0 评论 -
dubbo与spring整合之@Service、@Reference注解处理过程
dubbo与spring整合之@Service、@Reference注解处理过程dubbo整合spring的必要性整体的架构流程@EnableDubboDubboConfigConfigurationRegistrarDubboComponentScanRegistrarReferenceAnnotationBeanPostProcessordubbo整合spring的必要性dubbo是一款高性能的服务框架,但是如果是单独使用的话,会比较麻烦,而且很多注册中心的代码都需要自己写,因为还需要一套自己的IO原创 2021-02-27 22:21:13 · 6717 阅读 · 0 评论 -
3.[springMvc]spring mvc 父子容器
spring mvc 父子容器spring MVC的实现方式spring 父子容器父容器创建过程initWebApplicationContextcreateWebApplicationContextconfigureAndRefreshWebApplicationContext示例子容器创建过程HttpServletBean.initFrameworkServlet.initServletBeaninitWebApplicationContextcreateWebApplicationContextonR原创 2020-12-21 11:33:35 · 364 阅读 · 0 评论 -
1.[springMvc]Servlet的基础知识
Servlet的基础知识servlet是啥Servlet运行流程示例ServletGenericServletHttpServletServletContextFilterservlet映射器servlet是啥Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。J原创 2020-12-21 10:24:10 · 611 阅读 · 0 评论 -
Spring 事务处理机制详解及源码分析
Spring 事务处理机制详解及源码分析事务做了那些事儿spring事务传播特性当前不存在新的事务当前存在一个新的事务(事务需要传播)举个例子源码分析事务同步管理器事务挂起注册事务回滚时的事件事务提交事件@EnableTransactionManagement事物核心拦截器invokeWithinTransactiongetTransactionAttribute异常回滚completeTransactionAfterThrowing事务提交事务做了那些事儿今天这里记录下spring的事务机制,大概分析原创 2020-11-21 21:41:00 · 590 阅读 · 0 评论 -
Spring Aop详解
Spring Aop详解什么AOPSpring AOPProxyFactory示例分析源码分析创建代理工厂createAopProxygetProxy()JDK动态代理的调用JdkDynamicAopProxy创建的代理对象执行过程spring的自动代理功能BeanNameAutoProxyCreatorDefaultAdvisorAutoProxyCreator@EnableAspectJAutoProxy注解和源码对应关系什么AOP在软件业,AOP为Aspect Oriented Programmi原创 2020-11-21 21:27:00 · 1025 阅读 · 1 评论 -
Spring循环依赖详解
Spring循环依赖详解什么是循环依赖spring是如何解决循环依赖循环源码分析getSingletion方法getSingletonspring开启代理对象的地方循环依赖的限制条件什么是循环依赖今天这边来聊下spring中的循环依赖,在spring的bean生命周期中,循环依赖处于bean的依赖注入模块,循环依赖相信就算没有研究过spring源码的也经常听说,那么什么是循环依赖呢?我们抛开spring这个框架来聊下什么是循环依赖,循环依赖可能在我们平时的开发过程中是属于比较常见的,但是如果只是简简单单原创 2020-11-21 21:13:10 · 2451 阅读 · 3 评论 -
Spring 配置类解析过程详解
Spring 配置类解析过程详解配置类解析概要ConfigurationClassPostProcessor解析配置类过程invokeBeanDefinitionRegistryPostProcessorspostProcessBeanDefinitionRegistryprocessConfigBeanDefinitionscheckConfigurationClassCandidateConfigurationClassConfigurationClassParserparse解析processConf原创 2020-11-09 22:34:35 · 1499 阅读 · 0 评论 -
Spring BeanFactory后置处理器详解之配置类解析过程
Spring BeanFactory后置处理器详解之配置类解析过程BeanFactoryPostProcessor实现方式BeanFactory后置处理器源码分析invokeBeanFactoryPostProcessors分析BeanFactoryPostProcessorBeanFactoryPostProcessor是spring的一大核心,也是一个扩展点之一,spring的配置类扫描解析就是使用了BeanFactoryPostProcessor来实现的;spring中的两大扩展点之一就是Bean原创 2020-11-09 22:20:54 · 1089 阅读 · 0 评论 -
Spring启动过程详解
Spring启动过程详解前言spring容器启动过程AnnotationConfigApplicationContext有参数构造方法无参数构造AnnotatedBeanDefinitionReader构造配置类解析register(解析我们的配置类Appconfig)refresh启动准备prepareRefreshprepareBeanFactory(beanFactory)registerBeanPostProcessors(beanFactory)initMessageSourceinitAppli原创 2020-11-09 22:16:34 · 15213 阅读 · 15 评论 -
Spring依赖注入之@Resourcce详解&Bean的销毁
Spring依赖注入之@Resourcce详解&Bean的销毁@Resource和@AutoWired@Resource依赖注入过程源码分析@Resource、@PostConstruct、@PreDestroy寻找注入点applyMergedBeanDefinitionPostProcessorsCommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinitionInitDestroyAnnotationBeanPostProcesso原创 2020-10-25 17:47:28 · 727 阅读 · 0 评论 -
Spring依赖注入之注入Bean获取详解
Spring依赖注入之注入Bean获取详解依赖注入获取Bean过程resolveDependency方法详解Optional类型的获取beanObjectFactory类型获取beandoResolveDependency(普通注入类型)QualifierAnnotationAutowireCandidateResolver.isAutowireCandidateGenericTypeAwareAutowireCandidateResolver.isAutowireCandidateaddCandidate原创 2020-10-25 17:33:13 · 2614 阅读 · 0 评论 -
Spring依赖注入@AutoWired
Spring依赖注入@AutoWiredSpring依赖注入的形式XML的方式xml自动注入源码autowireByNameautowireByType以@AutoWired的方式spring的注解依赖注入doCreateBean之注入点postProcessMergedBeanDefinition@AutoWired依赖注入AutowiredFieldElement.inejctAutowiredMethodElement.inject@Autowired例子演示Spring依赖注入的形式Spring原创 2020-10-25 17:18:36 · 1661 阅读 · 0 评论 -
Spring bean生命周期之doCreateBean方法详解
Spring bean声明周期之doCreateBean方法详解前言@ValuecreateBean方法详解实例化前方法调用实例化前初始化后doCreateBeanapplyMergedBeanDefinitionPostProcessors填充属性&实例化后(populateBean)@AutoWired的实现逻辑&属性填充后的后置处理器初始化BeaninitializeBean初始化前后置处理器初始化方法前言在上一篇笔记中我们介绍了bean的初始化声明周期,但是期间有个最核心的方法c原创 2020-10-25 12:03:28 · 3489 阅读 · 3 评论 -
Spring生命周期Bean初始化过程详解
Spring声明周期Bean初始化过程详解Spring 容器初始化Spring Bean初始化BeanFactory和FactoryBean源码分析Bean的实例化preInstantiateSingletonsgetMergedLocalBeanDefinitiongetBean方法getObjectForBeanInstance例子分析@DependsOnSpring 容器初始化在spring中,不管是以xml文件的方式配置的Bean还是以注解的方式进行配置,最后都会将单例Bean放入到Spring原创 2020-10-25 11:51:00 · 11003 阅读 · 0 评论 -
Spring源码中涉及到的基本概念详解
这里写目录标题Spring简单介绍Bean定义XML定义Bean三级目录Spring简单介绍可以说spring是目前J2EE架构中最成功的轻量级的J2EE架构,spring发展了很多年了,现在使用已经很广泛了,可以说基本上每一家企业都在使用,包括BAT公司,都在spring架构的基础上做了很多的扩展,这个专题主要记录下spring的一些相关笔记,前段时间看了下spring的容器初始化的过程,发现里面的封装实在是太复杂了,封装了上千个类,如果不理解概念,直接去看源码会直接晕掉,spring最核心的功能就是原创 2020-10-25 11:40:27 · 712 阅读 · 0 评论 -
JAVA实现Spring IOC 容器技术和AOP切面编程技术
JAVA实现Spring IOC 容器技术和AOP切面编程技术Spring IOC介绍spring AOP自定义spring ioc容器和AOP切面技术实现过程创建注解创建扫描注解父类创建IOC相关的类IOC的创建最后来编写测试类结束语Spring IOC介绍spring ioc技术在目前来说已经是非常成熟的JAVA容器技术了,使用也是非常广泛,可以说目前市场上用了spring,那么IOC是其最核心的部分;IOC全称叫Inversion of Control,是控制反转的意思,平时我们编写java代码时原创 2020-05-21 16:27:01 · 631 阅读 · 5 评论 -
spring + hibernate + mysql 事务不回滚
首先声明,这个问题涉及到的数据库是MySQL。这是个很奇怪的问题,事务怎么会不回滚呢?实际上这是个愚蠢的问题,是经验不足导致的,越是奇怪的问题解决起来就越容易。不回滚的根本原因不在Hibernate,更不是SSH框架,而在MySQL本身。查看MySQL数据库使用的存储引擎:mysql>show variables like '%storage_engine%';...原创 2012-08-15 09:39:32 · 185 阅读 · 0 评论