5 不才人pat

尚未进行身份认证

合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。

等级
TA的排名 15w+

Spring 组件注册之注解@Configuration和@Bean

导语前些天,以为刚接触Spring的朋友,问我她代码中的@Bean("XXX")中的这个“XXX”怎么和bean 的名字怎么不一样,然后我就想着是不是该写一下这类博客。其实说到这里我要说一下她当时写的代码是在一个类中使用了@Configuration注解标注的,然后方法上标注了@Bean注解,此时如果对Spring比较熟悉的应该就知道我所说的是什么了。是的,她所做的就是再写一个配置类,那么...

2020-02-17 20:18:38

再说Spring Boot的自动装配原理

导语由于疫情原因,基本上大家过了半个暑假了,过年在家的时候,感觉貌似很少有人去写技术文章,于是我也随了大流,其实更多的原因是家里比较忙,最近忙完手头的一些事情,想着要继续回来写点东西,考虑了一下还是继续接着之前的那篇文章来写吧!前面的一篇说说Spring Boot(Spring)的自动装配机制文章中,简单大概笼统的说了一下Spring Boot的自动装配机制。其间应该也有一些错讹之处,不过...

2020-02-16 19:28:56

说说Spring Boot(Spring)的自动装配机制

导语说到Spring Boot的特性是什么,大家都可能都会说Spring Boot的特性有自动化装配,当然我也看到网上有一些文章讲这方面的,但是貌似都是Copy来Copy去的,很多也没什么新意,基本上就是简单说说几个注解的含义等等。因此笔者想着是不是该写写这方面的文章,其实笔者也是现学现卖的。既然说的是现学现卖,那么肯定写的不是特别严谨,因此如果下面的文章中,有什么不足之处也请大家多多的之处。...

2020-01-20 23:50:02

Spring Boot 的java -jar命令启动原理

导语在运用Spring Boot 后,我们基本上摆脱之前项目每次上线的时候把项目打成war包。当然也不排除一些奇葩的规定,必须要用war包上线,不过很多时候,我们对一些东西只是处在使用的阶段,并不会去深入的研究使用的原理是什么,这貌似也是大多数人的固定思维。或许正是如此,总会有些没有固定思维的人会去积极的探索原理,当然这话不是说我是积极的,我其实也是只原理的搬运工。今天和大家来简单的说下S...

2020-01-18 15:30:31

为什么不建议数据库建外键

导语有人可能在面试的时候被问到过,你觉得为什么不建议数据库通过构建外键做约束?你可以回答说,在《阿里Java开发手册》中是这样说的:不得使用外键与级联,一切外键概念必须在应用层解决。而且这个规约是强制的。但是我想这样的答案,可能并不能让面试官满意。当然,可能也有人说:在每次对表数据进行操作时,需要考虑外键的因素,太过于繁琐,但是这依然不是问题的重点。那么该如何回答这样的一个问题呢?下面我们...

2020-01-16 20:52:21

深入浅出Mybatis源码解析——结果集映射流程

前言在前一篇文章中,笔者补上了一篇文章,在那篇文章中,主要说了关于SQL语句的执行流程,当SQL执行完成后,那么肯定会返回一个结果集,对于这样的结果集是需要做一个映射的,就譬如你所返回的数据是表中的数据,但是要映射成Java中的实体类对象,便需要进行映射处理。说起来很抽象,那么就不多说了,还是直接进入主题,来看看在源码中是怎么实现的。一、包装结果列元信息对象在进入正文之前,还需要再...

2020-01-14 20:13:31

深入浅出Mybatis源码解析——SqlSession执行主流程(补)

前言由于Mybatis的源码系列文章,期间有长时间的脱节,导致笔者在写代码解析的时候中间出现了断裂,这个要和大家说声对不起,因此本篇文章是补深入浅出Mybatis源码解析——获取Mapper代理对象流程照片文章的,在这篇文章中简单的说了一下SqlSession执行主流程,也只是简单的说了说,后面的核心代码还没有涉及。说到这里,我们还是尽快进入主题,首先回顾下前面提到的那篇文章最后的代码,如...

2020-01-08 22:24:06

深入浅出Mybatis源码解析——BoundSql获取流程

前言停更了一个多月,博主一直在忙于技术的学习与工作的繁忙之间,其实更多的是迷茫于技术中,但是想想还是要把Mybatis系列继续更新下去。博主也给自己在20年立了几个flag:深入学习Java、研究研究c++、第三个就是健身咯,只要是因为回首2019年,感觉自己在技术学习的道路上是在没走多少,因此想着这次必须要对自己狠一点了。先不多说了,回顾一下前一篇文章,由于时隔太久,笔者都有点记不清了。...

2020-01-06 19:32:57

深入浅出Mybatis源码解析——获取Mapper代理对象流程

前言在上一篇文章深入浅出Mybatis源码解析——SqlSource的创建流程中,说了SqlSource的创建流程这样一个完整的创建流程,在这个流程中包含了:动态SQL标签处理器、解析动态SQL、创建MappedStatement对象。这样给我们对SQLSource这样的整个流程有了一个大概的了解。而这个过程的作用其实就是把Mapper文件中的SQL语句进行相关的解析和封装,一遍后续的执行...

2019-11-20 23:34:44

深入浅出Mybatis源码解析——SqlSource的创建流程

前言在前一篇文章深入浅出Mybatis源码解析——映射文件加载流程中,最后说到了创建SqlSource和创建MappedStatement对象,由于篇幅原因最后只好终止了,所以便只好在写一篇文章来说说SqlSource这样的一个创建流程是怎样的,在本系列第一篇完成后,也曾问过一两个认识的读者,有说不太看得懂,可能本人写博客不够图文并茂,所以在下一篇博文中准备来整理一张Mybatis的一个完整的...

2019-11-19 23:53:20

深入浅出Mybatis源码解析——映射文件加载流程

前言在前两篇文章中,简单了说了下Mybatis全局配置文件解析加载流程和和全局配置文件的部分标签解析,但是还并没有涉及到核心的解析。所以本篇文章将开始核心解析的部分,那就是mappers标签的解析。可能有人很奇怪这为什么不在前两篇文章中拿出来说,因为mapper标签的解析在configuration标签同层标签解析中是一个比较特殊的部分,因此需要单独拿出来进行说明。好吧,说了这么多废话,还...

2019-11-18 14:55:41

深入浅出Mybatis源码解析——全局配置文件解析(全局配置文件解析加载流程附篇)

前言首先要说下停更这么久的原因,因为工作上最近有点忙,加上学习债的繁重以至于没有继续更新Mybatis源码解析的文章,所以趁着忙里偷闲,来简单的更新一篇。在上一篇文章深入浅出Mybatis源码解析——全局配置文件解析加载流程中,我们讲到了全局配置文件的一个加载的过程,既然只是一个加载的流程,那就有解析的流程的啦!因此大家也猜到了,本篇正是讲全局配置文件中的一些解析,在parseConfig...

2019-10-12 14:18:43

深入浅出Mybatis源码解析——全局配置文件解析加载流程

前言前面笔者其实已经写了两篇关于Mybatis源码解析的文章,可后面自觉其解析的不够全面,但是那两篇文章完全是按照debug模式,简单的走了一遍流程去解析的,对于Mybatis内部的很多类的属性以及类的作用都没有做相关介绍。后来想想还是觉得好好写几篇关于Mybatis的文章,其实这也是为了强逼自己要深度的去阅读一下源码。现在写这篇文章的同时,也是笔者自己在学习的一个过程,如果文章中有错误之...

2019-09-27 09:32:07

JDK集合源码解析——LinkedList

前言上一篇文章对ArrayList的源码进行了一个简单的解析,那么本篇将对ArrayList的“兄弟”集合类LinkedList进行解析,相对于ArrayList而言,LinkedList的源码相对复杂一点点,但还没难道难以阅读的地步,稍微用点心还是可以滴。那么说到LinkedList,在面试的时候都会问他的数据结构是什么,时间复杂度是什么等等。有时候一些问题是成链式结构的,譬如Linke...

2019-09-06 10:30:07

JDK集合源码解析——ArrayList

导语首先说下为什么要写集合类的博文,毕竟这类的文章网上也是数不胜数,可是并不能因为这个就成了自己不写的理由,写博文其实主要是为了锻炼自己思考问题的思路,很多时候一篇文章写的好坏与否,主要就看写作者的思路如何。当你的思路很清晰的时候,同时也说明了你对它的熟悉度如何。虽然集合源码的解析又很多人写过,看上去也不是很复杂,可是如果你去细看的话,其实还是可以看出很多东西的。笔者之所以要写,更多的是要...

2019-09-04 16:13:15

Mybatis源码解析《二》

导语在前一篇文章Mybatis源码解析《一》中,已经简单了捋了一下mybatis核心文件和mapper配置文件的一个基本的解析流程,这是理解mybatis的基本,和spring中的配置文件的加载解析是一样的道理。既然说完了文件的加载,那么接下来便是关于mybatis的核心流程了,SqlSession的创建、SQL语句的操作、session的commit和关闭。在正式开始之前先回顾下上一篇文...

2019-08-05 17:09:25

Mybatis源码解析《一》

导语在当前的日常开发中,mybatis这样的一个框架的使用,是很多程序员都无法避开的。大多数人都知道mybatis 的作用是为了避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。因为在开始接触使用Java操作数据库的时候,我们都是使用JDBC的。自从有了持久化框架之后,使用持久化框架已经是“理所当然”的了,虽然我们已经脱离了使用JDBC是阶段了,但是这毕竟是基础的知识,所以本篇...

2019-08-02 09:59:32

Spring源码深度解析系列——自定义bean标签解析

导语前面已经通过两篇文章说了一下bean标签的解析,感兴趣的同学可以去看一下(Spring源码深度解析系列——bean标签解析《一》和Spring源码深度解析系列——bean标签解析《二》),而这两篇是关于默认标签解析的,既然存在默认的,那么自然就有自定义的了,本篇文章便开始自定义标签的解析。首先来回顾下bean解析初始代码吧! protected void parseBeanDefin...

2019-07-16 15:56:39

Spring源码深度解析系列——bean的加载《一》

导语通过前面的几天文章,已经对xml的解析流程进行了阐述,那么在Spring中bean的工作就完成了?其实还没有,在第一篇文章“Spring源码深度解析系列——Bean的基本实现”的测试类中,第一行的代码是对bean解析的操作,第二句便是开始实行bean的加载动作了。那么这篇文章,就是对bean这样的一个加载流程进行讲解。一、初入Bean加载在说bean的加载之前,我们先来重新看...

2019-07-10 11:24:13

Spring源码深度解析系列——bean标签解析《二》

导语前一篇文章中,已经把bean的属性解析完成了,也讲到了把xml文档转换为GenericBeanDefinition,这样在GenericDefinition中可以找到对应的配置。但是GenericDefinition也只是子实现类,大部分的属性还是保存在AbstractBeanDefinition中的,那么可以来先看下AbstractBeanDefinition中的基本属性来了解一下在xm...

2019-07-03 16:27:01

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。