- 博客(17)
- 收藏
- 关注
原创 SpringBoot集成通用Mapper+Generator自动生成Model,Mapper
一.引入有关jar包<properties> <java.version>1.8</java.version> <!--mybatis--> <mybatis-boot.version>2.1.0</mybatis-boot.version> <mybatis-generator.version>1.3.5</mybatis-generator.v
2020-05-27 22:42:22 525
原创 Spring源码解析之AOP篇(四)----注册AnnotationAwareAspectJAutoProxyCreator的原因
摘要:上文解析了AnnotationAwareAspectJAutoProxyCreator的注册过程,但是我们却并没有分析注册它有何用?能在实现AOP功能的过程中起到什么作用,今天我就会详细分析!一.注册AnnotationAwareAspectJAutoProxyCreator的原因首先让我们先看下此类的继承和实现关系,我用的idea构建的。不难看出,此类间接实现了Bea...
2020-05-11 20:08:28 212
原创 Spring源码解析之AOP篇(三)----Spring开启AOP的两种方式
一.基于XML的方式在Spring的早些版本,流行的Xml的配置方式。只要在xml中配置对的标签以及属性,Spring就会帮我们解析。 <!--开启自动扫描--> <context:component-scan base-package="com.seaway.curatorframework"/> <!--开启自动代理-->...
2020-04-27 22:03:31 367
原创 Spring源码解析之AOP篇(二)----AOP名词术语解释
Spring AOP:Aspect-oriented Programming,即面向切面编程。在切面编程中,引入了一些新的概念,这在学习AOP之前,必须得弄清楚,且得明白它们之前的关联关系,否则在后面的源码学习中会比较绕。毕竟,弄清楚了他们各自的功能,我们就能很容易的带着问题逐个击破,接下来我逐个讲解。Aspect翻译过来,叫做切面。首先看一下Spring广官方是如何给出解释的。切面...
2020-04-27 16:34:09 236
原创 Spring源码解析之AOP篇(一)----代理模式详解
最近看了Spring中的AOP--面向切面编程,该功能极为强大,能帮我们实现服务调用性能监控,权限控制,日志增强,事务管理等功能,能在不改变原来业务代码的前提下,悄无声息的替我们动态织入,让我们能更加的专注业务的实现。当了解到这,我非常好奇,想一探究竟AOP到底是如何实现帮我们无声织入的。但是个人认为,经过一段时间的源码研读,AOP应该算是在Spring核心功能中最比较难懂得了,实现逻辑较为复杂...
2020-04-27 12:09:46 302
原创 Dubbo中SPI及自适应扩展机制二之原理篇
摘要:上一篇文章,我详细的介绍了Java SPI和Dubbo SPI以及自适应扩展机制有关知识点,并辅以演示案例,本文也是基础上一篇文章接过来的。有兴趣的可以看看!接下来着重进行源码分析。Dubbo SPI及自适应扩展机制介绍篇:https://blog.csdn.net/lkp_kapila/article/details/105676828一.静态扩展机制1.下面为静态扩展机...
2020-04-22 23:48:55 210
原创 Dubbo中SPI机制及自适应扩展机制一之理论篇
一.SPI机制的概念SPI的全称是Service Provider Interface,是一种服务发现机制。它的主要目的是将某个接口的实现类的全限定名配置在以当前接口命名的文件中,在服务启动时通过动态加载的方式实现自动注入。大概的意思是假如现在有一个接口,而有两个类实现了该接口,当我们在使用接口调用方法时,通过SPI机制我们能动态的感知到底是使用该接口下的哪个实现类的实例,而不需要我们通过硬...
2020-04-22 16:49:54 277
原创 Spring源码分析之单型模式Setter注入下的循环依赖
摘要:Spring中总共有三种循环依赖,原型模式的循环依赖,单例模式的构造器循环依赖,单例模式的Setter注入循环依赖。前面两种我已经写过了,在这里附上链接,有兴趣的可以去了解下,今天会将最后一种,也算是比较重要的一种。原型模式的循环依赖:https://blog.csdn.net/lkp_kapila/article/details/105344252单例模式的构造器循环依赖:h...
2020-04-08 19:37:53 1025 3
原创 Zookeeper源码分析之彻底弄懂leader选举底层原理
摘要:上一篇文章,我着重介绍了Zookeeper集群中leader选举的流程分析,感兴趣的可以看看leader选举流程详解。这里就不再赘述了,今天要讲的是从源码的角度去分析是如何进行leader选举的,下面开始今天的主题。本文是基于zookeeper3.4.12来进行讲解的,大家可自行去github上下载并完成构建。一.参数讲解在开始讲解源码前,有必要提前了解以下几个参数:N.........
2020-04-08 16:48:35 414
原创 Zookeeper源码分析之leader选举流程分析
1.什么时候会进行lead选举?集群启动时运行过程中leader节点挂掉2.集群中节点的角色和状态leader,follower,observerlooking,following,observing,leadingleader:处理所有的事务请求,如create,update,delete等observer:数据同步时进行传送消息,不参与选举follwer:处理所...
2020-04-07 23:11:55 217
原创 spring源码解析之单例模式下的构造器循环依赖
单例模式下的构造器循环依赖单例模式下的构造器循环依赖和多例模式下的循环依赖大同小异。以下面的TestA,TestB为例。public class TestA { private TestB testB; public TestA(TestB testB) { this.testB = testB; } public TestB get...
2020-04-06 19:02:03 438
原创 spring源码解析之原型模式下的循环依赖
众所周知,Spring托管了我们对象的创建,销毁,管理着整个bean的生命周期。但是在对象的创建过程中,有一种特殊情况,存在可能两个bean之间互相引用,例如下面的TestA中引用了TestB,TestA中引用了TestA,即你中有我,我中有你。public class TestA { //引用了TestB private TestB testB; //省略get,...
2020-04-06 17:20:32 2388 5
原创 Zookeeper源码分析之Curator如何实现ZK分布式锁
前言:今天要讲的这个问题,我会从三个角度去分析。首先第一个角度是为什么会出现分布式锁以及它的出现能解决哪种场景下的问题?第二个角度是为什么zookeeper能实现分布式锁,第三个角度是走进源码一探究竟,需要知其然而其所以然。
2020-03-25 15:33:37 453
原创 细说Spring自定义标签
Spring自定义标签总共可以分为以下几个步骤定义Bean 标签解析生成接收配置的POJO。 定义schema文件,定义自定义标签的attr属性 定义解析类parser,遇到自定义标签如何解析。 定义命名空间处理类namespaceSupport,遇到自定义的命名标签,能够路由到对应的解析类。 声明schema,写入spring.schema文件中 声明自定义标签的命名处理类name...
2020-03-22 15:29:55 283
原创 SpringBoot源码分析之为何自动扫描功能为主程序当前包
在SSM项目中,按照往常惯例,Spring需要在xml中配置开启包扫描的功能去扫描相应包下带有特定注解的类,然后帮我们创建实例,完成自动注入的功能。但是SpringBoot项目中,却并没有看到诸如此类的配置,在启动类我同样也没有看到关于@ComponentScan的注解。于是让我产生了好奇,SpringBoot到底是怎么的一种加载机制呢,接下来,大家就跟我一起去看看源码,一起来分析它是如何加载的吧...
2019-10-25 11:52:28 458
原创 创建第一个SpringBoot项目,开启微服务之旅
很早之前,我们的服务应用都是单体架构,何为单体架构呢?就是说所有业务功能都被统一的打成一个war包,部署在一台服务器上,也被称之为 All In One。对,这样在我们以前看来,确实是能够正常的运转,好像也没什么毛病。但是你有没有想过一个问题,假如我们只是稍稍改动了某个模块中的一个类的代码,或者前端的某个html或者jsp页面稍稍做了调整,那即将要面临的将是整个项目的重新打包,发布。很是麻烦,也没...
2019-10-21 20:10:48 699 2
原创 教你怎么编写高效的JSON工具类
在开发过程中,既有可能会用到JSON数据的传输。在JSON数据组装的过程中,你还在怕一个个字符串拼接出错而烦恼吗?这这里我整理了一个完整的工具类,能够帮助大家快速而高效的开发,妈妈再也不用担心我在这一块出错了。package com.beichende.ibank.util;import com.google.gson.Gson;import com.google.gson.JsonAr
2017-10-03 10:34:45 1590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人