自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis缓存源码详解

Mybatis缓存源码详解示例代码地址:https://gitee.com/cq-laozhou/mybaits-source-code-analyzerMybatis内部使用2级缓存便于加速数据的查询,降低数据库的查询压力。一级缓存 LocalCache在Mybatis的执行流程中,首先去查找二级缓存,如果二级缓存中没有,再去一级缓存找,如果还没有,最后从数据库查询。一级缓存示例一级...

2019-12-30 17:05:46 360

原创 Mybatis 使用教程

Mybatis 使用教程参考资料 官网(http://mybatis.org/mybatis-3/zh/index.html)示例源码地址 https://gitee.com/cq-laozhou/mybaits-source-code-analyzer入门介绍参考:http://mybatis.org/mybatis-3/zh/index.htmlMybatis的配置有两部分,一个是M...

2019-12-24 23:29:40 221

原创 Mysql Docker 镜像使用

Mysql Docker 镜像使用Mysql 镜像获取打开docker官方registry https://hub.docker.com/搜索Mysql关键字选择官方Mysql镜像选择需要的版本,复制命令拉取镜像Mysql镜像如何使用在上图3的链接中【https://hub.docker.com/_/mysql?tab=description】,有详细的使用说...

2019-12-24 22:59:51 176

原创 MAT分析工具入门

Elipse MAT是一款java堆内存的分析工具,帮助定位内存泄露问题。该工具能够快速的计算数亿的对象占用的内存情况,找出是哪些对象不能被垃圾回收,并提供可疑泄露地方的报告。

2019-12-23 19:07:43 166

原创 Spring框架事务核心源码解析

详细分析了Spring事务管理的源码,包括7种传播特性在存在事务和不存在事务情况下的处理逻辑,顺带着也把AOP的核心源码也一起分析了。@EnableTransactionManagement注解分析事务代理对象的创建AOP代理对象的创建类似,要启动事务管理,需要在配置类上使用@EnableTransactionManagement注解,来看看这个注解做了些什么事情:@Import(Trans...

2019-12-20 00:12:23 314

原创 Navicat Premium For Mac 安装

在网上(github)找到navicat-keygen这个仓库(时不时的会下线),然后根据如下操作手册操作。Navicat Keygen注意:仅支持Navicat Premium。1. 如何编译在编译之前,你应该确保你有如下几个库:opensslcapstonekeystonerapidjsonlibplist如果你有brew的话,你可以通过$ brew install...

2019-12-17 14:33:18 877

原创 Spring框架AOP核心源码解析之二:代理对象的调用

阅读文章时,看看流程图会更容易理解哦: https://www.processon.com/view/link/5df5e143e4b004cc9a3068d2JDK动态代理调用接上一篇文章,创建好代理对象后,从容器中getBean返回的就是代理对象了。此时调用代理对象的方法,就会被拦截增强,以JdkDynamicAopProxy这个创建的代理对象为例,调用代理对象的方法会进入到JdkDyna...

2019-12-15 17:33:41 210

原创 Spring框架AOP核心源码解析之一:代理对象的创建

阅读文章时,看看流程图会更容易理解哦:https://www.processon.com/view/link/5df5e143e4b004cc9a3068d2示例准备在分析aop源码之前,先搭建一个demo示例,演示下效果。比如,有一个DemoService接口,里面定义一个demo方法:public interface DemoService { void demo(Stri...

2019-12-15 17:32:04 247

原创 Spring框架IOC容器初始化核心源码解析之五:单例Bean循环依赖解决和自动注入机制

填充属性结合spring源码和 https://www.processon.com/view/link/5dec9a96e4b0c080dba0305b 上总结的流程图一起看,效果会更好。书接上篇,继续分析populateBean(beanName, mbd, instanceWrapper);这个方法。protected void populateBean(String beanName,...

2019-12-11 00:08:46 235

原创 Spring框架IOC容器初始化核心源码解析之四:Bean初始化(getBean)

单例bean的初始化入口先回顾下refresh方法:public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRef...

2019-12-08 23:07:17 397 1

原创 Spring框架IOC容器初始化核心源码解析之三:BeanDefinition注册

详细分析了spring是如何找到并解析配置类,如果将通过@ComponentScan 和 @Component 、@Bean 以及 @Import 注解声明的bean,自动注册的容器中的。用于debug的源码:https://gitee.com/cq-laozhou/spring-stack-source-code-analysisinvokeBeanFactoryPostProcessors...

2019-12-08 00:45:32 665

原创 Spring框架IOC容器初始化核心源码解析之二:准备工作

Bean定义的几种方式spring提供了3种声明bean的方式:在配置类中(@Configuration注解的类)使用@bean注解声明bean;使用@ComponentScan注解,默认它会扫描指定路径中的带有@Component注解及其子注解(@Controller @Service @Repository)的类,并将它们注册为bean使用@Import注解 其value可以配置三种...

2019-12-07 00:13:17 207 1

原创 Spring框架IOC容器初始化核心源码解析之一:基础概念

在开始分析spring框架源码之前,需要先了解spring的几个核心的组件,其中在启动过程中最重要的就是BeanDefinitionRegisterPostProcessor、BeanFactoryPostProcessor、BeanPostProcessor组件。源代码地址 https://gitee.com/cq-laozhou/spring-stack-source-code-analys...

2019-12-07 00:09:06 197

原创 Spring框架核心注解用例

示例的源码地址:https://gitee.com/cq-laozhou/spring-stack-source-code-analysis@Configuration 和 @Bean回忆下,在古老的Spring框架版本中(Spring3之前),spring的所有配置都是通过xml文件来配置,比如:在 applicationContext.xml文件中定义一个bean:<?xml ...

2019-12-05 11:02:34 332 1

空空如也

空空如也

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

TA关注的人

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