
杂记---框架
一点一滴一世界
喜欢编程,所以编程
展开
-
SpringBoot---事务实现原理
一、前言利用SpringBoot实现事务非常简单,主要有以下两步骤:1.在启动类上加注解@EnableTransactionManagement2.在需要事务管理的方法上添加注解@Transactional简单的代码后面却体现了SpringAOP的思想和精髓,接下来我们先思考一下可能的实现方式。二、思考要对一个方法进行事务管理,肯定要对该方法进行增强,那就有以下几个...原创 2019-11-07 17:35:40 · 1332 阅读 · 0 评论 -
Spring---ApplicationContext的refresh流程分析+hook类的产生时机和作用
相信看过Spring源码的一定不会对AbstractApplicationContext.refresh()方法陌生,其主要作用在于刷新Spring容器,刷新的意思即把BeanFactory清空为初始状态,然后再按照程序意图填满各种Bean。一、refresh流程二、流程分析上面流程中提到了BeanPostProceesor、ApplicationEventMulticustor...原创 2019-11-04 16:49:00 · 640 阅读 · 0 评论 -
Spring---Bean实例化过程(源码)分析
在Spring---组件扫描一文中,我们了解到Spring在容器启动时,是如何扫描到带有@Component注解的类并将其添加到beanDefinitionMap之中的。存在于beanDefinitionMap之中的只是所有bean的定义,这些定义包括“是否单例”,“是否懒初始化”,“类元数据信息”等等。当我们需要从容器中获取一个bean时,便会根据该bean定义信息,实例化bean对象,接下来我...原创 2019-10-20 11:41:55 · 485 阅读 · 0 评论 -
Spring---组件扫描(如何找到一个组件并将其添加到容器)
SpringIOC就是将对象的创建过程交给Spring容器,Spring容器在启动的时候会扫面所有的组件(带有@Component、@Bean等注解)存放在beanDefinationMap中,然后再需要创建对象的时候,取出bean定义信息,实例化对象即可。这里我们将分析一下组件扫描的过程。注意:本文的中心思想是看Spring如何扫描到某个组件,并将其添加到容器中,其余问题不探究,不要走偏。...原创 2019-10-18 18:31:14 · 733 阅读 · 0 评论 -
JAVA---JDK动态代理原理
本文将明白以下几个问题。一、思考问题一:如何使用JDK动态代理?问题二:JDK动态代理的原理是什么?如何生成代理类?二、分析2.1基于JDK动态代理的一般过程代理过程的实现,必然要涉及原生对象,代理逻辑,代理对象的生成。我们结合用户登录服务,在登录前后打印登录日志功能来说明。原生对象//基于JDK的动态代理,原生对象必须实现接口,具体原因稍后分析public ...原创 2019-10-15 13:02:26 · 208 阅读 · 0 评论