- 博客(17)
- 收藏
- 关注
原创 springboot与kafka
本文提纲1、kakfa-producer2、kafka-consumer3、springboot整合该项目依赖psyche,将相关kafka组件作为moudle放在fast-plugins中运行环境springboot + kafka2.111、前提假设你已经了解过springboot和kafka,对这两门技术已经有简单的基础认知,包括知道kafka是mq组件,知道生产者...
2019-06-11 21:38:58
379
原创 Spring源码-AOP(二)-jdkProxy与cglib
前言上一篇分享了一些AOP相关的概念,这一篇继续上一篇分享java动态代理的两种实现方式。1、jdkproxy缺陷:JDK的动态代理依靠接口实现,如果类没有实现接口,则不能使用jdk代理,只能使用cglib,但是这也比静态代理好太多。 jdkproxy中包含一个类和一个接口InvocationHandler接口: public interface InvocationHandler { pub
2017-08-31 08:19:05
365
原创 Spring源码分析之AOP(一)
前言之前已经完成了IOC的源码分析,接下来分析下AOP相关代码。在分析之前,先记录下aop的概念。 - 概念:作为面向对象编程的一种补充,经常用于一些具有横切性质的系统级服务,如事务,日志,安全等。AOP带来可以分为动态和静态两大类。 - 其中静态带来指的是使用AOP框架提供的命令进行编译,从而在编译阶段生成AOP代理类,因此也称为编译时增强; - 而动态代理在在运行时借助于JD
2017-08-29 08:01:54
517
原创 Spring源码(十)-IOC终结篇
前言不知不觉,Spring源码已经写了9篇,这一章就画上一个句号了,IOC这块就暂时结束。这一篇就之前的内容做些总结,主要写一些大致的流程。 【详细参考】bean的初始化1、bean的生命周期 1、Spring对Bean进行实例化(相当于程序中的new Xx())2、Spring将值和Bean的引用注入进Bean对应的属性中3.如果Bean实现了BeanNameAware接口,Spr
2017-08-29 08:00:53
313
原创 Spring源码(九)-SpringBoot中的注解
前言上一篇写了Spring相关的注解,由于我的源码分析主要采用的是Springboot的方式,所以这里也顺便把springboot相关的注解也进行一些简单的分析。1、配置类Springboot比Spring之前的xml那种配置方式比较优秀的方式,我觉得最大就在于,减少了大量的配置文件,提供了很多spring-boot-starter-*的包,提供这些开箱即用的方式。当然配置也改用这种注解式的。1.1
2017-08-29 08:00:04
1116
原创 Spring源码(八)-Spring-IOC中的注解
前言这段时间bug有点多,白天的时间几乎都用在改bug了,近一个月都很少看书了,得赶紧改完bug看书。在spring源码分析结束之后,我们也已经完成了循环依赖的解决方案以及设计模式,那么接下来我们分析下Spring中常用的注解。 1、元注解元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它annotation类型作说明 。 -
2017-08-24 09:05:08
275
原创 Spring源码(七)-IOC中的那些设计模式
前言接上一篇讲下spring-ioc中的设计模式。Spring作为一款及其优秀的框架,其代码的编写非常优秀,里面采用了大量的设计模式。下面我们一点点分析。 先简单说下常见的设计模式 - 1、工厂模式 - 2、单例模式 - 3、策略模式 - 4、装饰器模式 参考:设计模式学习1、工厂模式【参考】:工厂模式的区别 1.1、定义工厂模式可将Java对象的调用者从被调用者的实现逻辑中分离
2017-08-24 09:04:44
4022
原创 Spring源码(六)-Spring循环依赖的解决方案
前言结束了两天的河北游,终于回到帝都,这周事情比较多,然而还得继续把上周欠下的债给补上,这一节咱们主要分析一下Spring-IOC中之前被忽略的那些细节以及一些常见的Spring-IOC的面试题。1、Spring循环依赖2、Spring-IOC中的设计模式3、Spring-IOC中常用注解4、Spring-IOC中bean的生命周期5、Spring-IOC中1、Spring循环依赖1.
2017-08-24 09:01:25
1328
原创 Spring源码(五)-bean的加载(下)
前言接的私活有点赶进度,加上周四搬工位,昨天看了演唱会,加上改bug一直没有抽出时间来写,今天估计补不上周四的了,周末也有事情,周四的下周一定不上。废话不说了,我们继续之前bean的加载下篇,bean的加载是spirng-ioc的核心,我自己理解的也不是特别好,有感兴趣的小伙伴欢迎一起聊聊。 QQ:616516146,Gmail:liangliang1259@gmail.com。1、getBean
2017-08-24 08:59:18
334
原创 Spring源码(四)-bean的加载(上)
前言前面讲述了context的创建,接下来将进入到核心的bean的创建过程,前期的准备工作已经完成,相信很多人跟我一样,看过了一遍只能有个大概的印象,接下来有时间的话我会考虑结合UML和脑图这样的出来和大家一起分享,有经验或者想一起学习的,希望可以联系我,qq:616516146,言归正传,回到代码。1、prepareContext()接下来回到最初代码SpringApplication中run方法
2017-08-24 08:58:12
726
原创 Spring源码(三)-Context的创建(下)
由于该篇文章较多,所以就拆分为了上下两篇,接上面完成了beanFactory的信息处理,接下来是bean的相关定义的处理。1、BeanDefinition获取完beanFactory的之后,代码涉及到了一些bean的定义,接下来看beanDefination的定义。 - 1、BeanDefinition 设计bean相关信息 - 2、BeanDefinitionHolder 封装bean定义
2017-08-24 08:57:46
414
原创 Spring源码(二)-Context的创建(上)
我们前一章介绍了spring的整体架构以及模块划分,也已经将代码导入ide中,那么接下来就要开始让人心动的Spring源码之旅了。1、默认的Spring启动器@SpringBootApplication@ComponentScan(basePackages = {"com"})public class SpringSourceApplication { public static voi
2017-08-24 08:57:22
701
原创 Spring源码(一)-Spring整体架构和环境搭建
Spring框架是一个分层框架,包含一系列的功能要素,被分为如下模块:1、Core Container java(核心容器),包含有Core、Beans、Contexts 和 Expression Language模块,其中Core和Beans是Spring框架的最基础部分,提供IOC相关功能Core主要包含Spring框架的核心工具类Beans主要包含访问配置文件、创建和管理bean以及D
2017-08-24 08:56:47
443
原创 java集合框架源码分析之一
java中最常用的集合框架为List,Set,Map这也是每次面试基本都会问的东西 本次就从源码及数据结构的层面去分析下。 java之List,
2016-11-01 20:22:19
293
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-10-27 20:54:43
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人