自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Spring源码学习(6)- 事务解析

Spring源码学习(6)- 事务解析事务的使用Spring事务传播属性事务源码解析事务相关的处理方法调用提交或者回滚事务释放资源和重新建立绑定关系Spring中事务,是使用AOP切面技术来实现的事务的使用使用事务时,要不就是在配置文件中配置,要不就是使用注解方式使用注解方式的话,需要用到@EnableTransactionMangement注解,这个注解就显示的添加了注解事务功能,但是我...

2020-02-26 14:48:05 275 1

原创 Spring源码学习(5)- springmvc解析

Spring源码学习(4)- springmvc解析介绍1.取代web.xml配置super.onStartup()方法registerDispatcherServlet()方法启动spring容器2.取代springmvc.xml配置请求之间建立映射关系dispatcherServlet处理请求getHandler()getHandlerAdaptermappedHandler.applyPre...

2020-02-25 14:29:08 311

原创 Spring源码学习(4)- AOP

Spring源码学习(4)- AOPAOP基本概念AOP的使用Xml配置方式注解方式AOP原理getAdvicesAndAdvisorsForBean() 切面收集createProxy() 代理类生成并调用AOP基本概念AOP全称是Aspect Oriented Programming,面向切面编程,作为面向对象编程的一种补充它将功能分为两个部分:核心关注点:原本的业务逻辑横切关注点...

2020-02-24 10:59:32 276

原创 Spring源码学习(其他)--AbstractBeanDefinition属性

AbstractBeanDefinition属性上一篇文章里面,将XML文档中的所有配置,都转换填充到GenericBeanDefinition的实例类中,即可以在该实例类的对应的配置获取到。GenericBeanDefinition只是子类实现,大部分通用属性都保存在AbstractBeanDefinition中,下面看看该类都有那些属性public abstract class Abst...

2020-02-19 13:44:45 164

原创 Spring中使用到的设计模式

Spring中使用到的设计模式设计模式1 - 模板设计模式设计模式2 - 委托模式设计模式3 - 装饰模式设计模式1 - 模板设计模式定义了该方法的执行步骤,但是方法内某些具体实现由子类去实现public class Fu { public void live(){ study(); work(); love(); // 钩子方法 } public void stud...

2020-02-19 13:44:23 208

原创 Spring源码学习(3)-bean的加载与销毁

Spring源码学习--bean的加载bean的加载FactoryBean的使用缓存中获取单例的bean从bean的实例中获取对象获取单例准备创建bean循环依赖创建bean创建bean的实例属性注入初始化beanbean的加载protected <T> T doGetBean(final String name, @Nullable final Class<T> re...

2020-02-19 13:44:12 203

原创 Spring源码学习(2)-注册BeanDefinition

Spring源码学习--注册BeanDefinition通过beanName注册BeanDefinition对于配置文件,解析也解析完了,得到的beanDefinition已经可以满足后续的使用要求了,唯一还剩下的工作就是注册也就是DefaultBeanDefinitionDocumentReader类中的processBeanDefinition方法的BeanDefinitionReade...

2020-02-19 13:43:58 148

原创 git学习

git学习git好处git相关命令git好处每台电脑都有版本库,可以在本地做版本管理速度快强大的分支管理活跃的开源社区(github)git相关命令命令名称命令作用git initgit项目存入版本库git config user.name ‘name’设置操作者的姓名git config user.email ‘email’设置操作者的邮箱...

2019-12-11 16:51:45 81

原创 Spring源码学习(1)-解析BeanDefinition

Spring源码学习-默认标签解析1.bean标签的解析及注册1.1 解析BeanDefinition1.1.1 创建用于属性承载的BeanDefinitin1.1.2 解析各种属性1.1.3 解析子元素meta1.1.4 解析子元素 lookup-method1.1.5 解析子元素replaced-method1.1.6 解析子元素constructor-arg由上一篇可知,解析默认标签是由 ...

2019-11-13 15:56:20 231

原创 Spring源码学习-容器基本实现

Spring源码学习-beans工程容器的基础 XmlBeanFactory访问配置文件加载Bean获取XML的验证模式该笔记是边看 《Spring源码深度解析》 边整理,可能会有不正确的地方,希望能帮忙指出该工程的主要功能有:访问配置文件、创建和管理bean以及IoC/DI操作相关的所有类容器的基础 XmlBeanFactory访问配置文件DefaultListableBeanFac...

2019-11-05 15:20:19 394

原创 Mybatis源码学习-核心流程-数据访问阶段

Mybatis源码学习-核心流程-数据访问阶段Executor组件所用到的设计模式:模板模式、装饰器模式模板模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。(定义好方法的执行步骤,但是方法的具体内容由子类去实现)例如:mybatis中的query方法AbstractQueuedSynchronizer 中的 ...

2019-10-24 15:40:46 318

原创 Mybatis源码学习-核心流程-代理封装阶段

Mybatis源码学习-核心流程-代理封装阶段mybatis的代理封装阶段所用到的设计模块:策略模式、门面模式策略模式: 定义了一系列的算法,并将每个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化例如: spring的@Autowired 就是一个明显的策略模式门面模式:指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一...

2019-10-22 18:41:04 146

原创 Mybatis源码学习-核心流程-初始化阶段

Mybatis源码学习-核心流程-初始化阶段mybatis的初始化流程ConfigurationXMLConfigBuilderXMLMapperBuildercacheRefElementresultMapElementsbuildStatementFromContextXMLStatementBuilderMapperRegistryResultMapMappedStatementSqlSou...

2019-09-15 23:35:34 230

原创 Mybatis源码学习-反射模块分析

Mybatis源码学习-反射模块

2019-09-15 22:01:22 163

原创 Mybatis源码学习-缓存模块分析

Mybatis源码学习-缓存模块使用的设计模式:装饰者设计模式

2019-09-05 08:58:57 365 2

原创 Mybatis源码学习-数据源模块分析

1

2019-09-04 16:09:33 270

原创 Mybatis源码学习-日志模块分析

Mybatis源码学习1.Mybatis源码的基本模块新的改变1.Mybatis源码的基本模块模块如下图:一共16个模块,这16个模块可以分为3层基础支撑层:专注于底层实现,无业务含义(通用性比较强)核心处理层:专门处理Mybatis的业务流程实现,依赖于基础支撑层接口层:对外提供的访问接口,也就是面向SqlSession编程新的改变...

2019-09-04 09:11:11 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除