源码专题
✎ℳ๓₯㎕...雲淡風輕
用心去写、用心去做。天道酬勤、你的努力定不会被辜负、行动起来、用代码征服世界!我会用博客的形式将我所掌握的知识体系结构写出来分享给大家,希望使大家少走弯路,在事业道路上披荆斩棘,有所突破!!
展开
-
SSM源码分析之23种设计模式(工厂模式)
23种设计模式之工厂模式前言工厂模式的种类简单工厂模式工厂方法模式抽象工厂模式前言很多人看源码没有头绪,一个很大的原因在于对于23种我们约定俗成的设计模式所知甚少,今天讲一下23种设计模式的工厂模式。工厂模式的种类工厂模式分为:简单工厂模式和工厂方法模式以及抽象工厂模式为了便于理解,这里做一个小案例:1、首先制造一个牛奶类:public interface Milk { ...原创 2019-11-19 13:56:22 · 770 阅读 · 0 评论 -
SSM源码分析之23种设计模式(单例模式与原型模式)
23种设计模式之单例模式与原型模式前言前言单例模式(一个类模板,在整个系统执行过程中,只允许产生一个实例)应用广泛,主要 应用在:配置文件Ioc容器日历工厂本身单例模式,解决一个并发访问的时候线程安全问题,保证单例的技术方案有很多种饿汉式在实例使用之前,不管你用不用,我都先new出来再说,避免了线程安全问题懒汉式、默认加载的时候不实例化,在需要用到这个实例的时候进...原创 2019-11-22 21:41:35 · 794 阅读 · 0 评论 -
SSM源码分析之23种设计模式(代理模式)
23种设计模式之代理模式前言代理模式引入代理模式分类静态代理实现动态代理实现手写jdk代理模式总结前言代理模式引入作用:aop实现拦截器解耦专人做专事,自己不想做但是又不得不做的事概念: 代理角色、被代理的角色(目标对象),由被代理角色来做最终的决定代理角色通常来说会持有被代理角色对象引用(以便于代理角色完成工作之前或者之后能够找到被代理对象,能够通知被代理对象)代理模式分...原创 2019-11-23 12:09:49 · 542 阅读 · 0 评论 -
SSM源码分析之23种设计模式(策略模式和模板模式)
23种设计模式之策略模式和模板模式目录策略模式使用场景策略模式实现目录策略模式使用场景策略模式:根据用户的需求处理数据时候需要对算法做出选择,固定的一些算法(不再发生变化的算法),扩展客户本身他不知道采用什么算法去计算一些常用的使用场景:比较器旅行路线固定算法买东西结算支付策略模式实现我们先做一个订单状态类:public class PayState { pri...原创 2019-11-24 16:42:16 · 499 阅读 · 0 评论 -
SSM源码分析之23种设计模式(委派模式和适配器模式)
23种设计模式之委派模式和适配器模式委派模式适配器模式委派模式不属于23种设计模式,但是spring源码种常用,它类似于代理模式和策略模式的结合模式。相当于是静态代理一种非常特殊的情况,全权代理。在spring源码里,以Deleage或Dispatcher为结尾的通常是委派模式我们以ServletDispatcher这个类为例,首先写几个Controller:public class ...原创 2019-11-24 21:05:24 · 422 阅读 · 0 评论 -
SSM源码分析之23种设计模式(装饰器模式和观察者模式)
23种设计模式之装饰器模式和观察者模式装饰器模式观察者模式装饰器模式为了某个实现类在不修改原始类的基础上进行动态地覆盖或者增加方法该实现保持跟原有类的层级关系采用装饰模式装饰器模式实际上一种非常特殊的适配器模式 //虽然 DataInputStream 功能更强大 //DataInputStream 同样要实现InputStream InputS...原创 2019-11-25 15:21:55 · 470 阅读 · 0 评论 -
SSM源码分析之Spring01-源码安装与版本命名规则
spring源码安装与版本命名规则gradle配置Spring5源码下载安装spring版本命名规则首先看看某些常见软件的版本号版本号命名规则指南Spring版本命名规则gradle配置gradle类似于maven仓库,是统一管理jar包的第三方组件,由于spring源码是由gradle构建,我们这里先安装配置本地的gradle:gradle基本配置:https://blog.csdn.n...原创 2019-11-26 20:35:02 · 473 阅读 · 0 评论 -
SSM源码分析之设计模式总结
各种设计模式总结及应用场景分析前言设计模式应用场景分析前言设计模式模式名称应用场景代码场景特点一句话概述应用场景分析原创 2019-11-27 13:46:56 · 476 阅读 · 0 评论 -
SSM源码分析之Mybatis01-配置文件的使用
Mybatis源码分析01-配置文件的使用前言MyBatis 介绍及使用第二步前言我们说,mybaits作为一个轻量级的orm框架,通过自定义sql的形式实现了访问数据库的操作。这里给出一个学习路线:MyBatis 介绍及使用认识 MyBatis (是什么都不知道就看源码就是掩耳盗铃)a) What is MyBatis? http://www.mybatis.org/mybati...原创 2019-11-27 17:52:50 · 368 阅读 · 0 评论 -
SSM源码分析之Mybatis02-Mapper与BestPractice
Mybatis源码分析01-Mapper与BestPractice前言Mapper文件解读BestPractice总结前言Mapper文件解读BestPractice总结原创 2019-11-30 20:04:24 · 356 阅读 · 0 评论 -
SSM源码分析之Mybatis03-MyBatis概览与源码分析
Mybatis源码分析03-MyBatis概览与源码分析前言MyBatis概览MyBatis源码分析总结前言MyBatis概览MyBatis源码分析总结原创 2019-12-01 21:52:06 · 466 阅读 · 0 评论 -
SSM源码分析之Mybatis04-MyBatis源码解读与1.0版本设计过程
上一节,我们debug了mybatis的orm执行过程,这一节我们将核心实现手写成一个demo,暂且称之为MybatisV1.0原创 2019-12-05 14:10:29 · 556 阅读 · 0 评论 -
SSM源码分析之Mybatis05-MyBatisV2.0设计过程
上节我们手写MyBatisV1.0,虽然可以简单的实现了ORM,但是存在的问题很多: - 硬编码 - Executor耦合度过高 - 提示不友好原创 2019-12-05 15:55:42 · 440 阅读 · 0 评论 -
SSM源码分析之Mybatis06-MyBatis总结
前面我们分析了mybatis的源码以及手写了两个版本的微型mybatis,相信大家对mybatis源码一定有了更深入的了解了。原创 2019-12-06 19:24:55 · 464 阅读 · 0 评论 -
SSM源码分析之Spring02-Spring源码分析前瞻
Spring02-Spring源码分析前瞻前言spring怎么学?环境准备好了没有项目里头有红叉如何从0到1去学习没有Spring将如何开发?前言前面的章节,我们使用gradle构建了spring5源码,这节我们做一个准备工作!学习最好的方法:就是重复!spring怎么学?穷举法:把生活所见所闻全部归纳到我们所学的知识体系中来,加以思考总结变成自己的东西。(举例子)类比法:用自己熟悉的...原创 2019-12-06 20:18:13 · 1071 阅读 · 0 评论 -
SSM源码分析之Spring03-IOC实现原理
IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们可配置的文件。原创 2019-12-24 15:01:20 · 913 阅读 · 0 评论 -
SSM源码分析之Spring04-DI实现原理(基于XML注入)
当Spring IOC 容器完成了 Bean 定义资源的定位、载入和解析注册以后,IOC 容器中已经管理类 Bean 定义的相关数据,但是此时 IOC 容器还没有对所管理的 Bean 进行依赖注入,依赖注入在以下两种情况发生:原创 2020-01-01 16:09:29 · 475 阅读 · 0 评论 -
SSM源码分析之Spring05-DI实现原理(基于Annotation 注入)
我们在使用Spring的时候已然了解到有两种注入方式。- XML注入- Annotation注入**这节我们讲基于Annotation注入方式**,我们跟着源码学习一下Spring是如何实现DI(依赖注入)的?原创 2020-01-01 16:33:29 · 515 阅读 · 0 评论 -
SSM源码分析之Spring06-IOC 容器中那些鲜为人知的事儿
通过前面章节中对 Spring IOC 容器的源码分析,我们已经基本上了解了 Spring IOC 容器对 Bean 定义资源的定位、读入和解析过程,同时也清楚了当用户通过 getBean 方法向 IOC 容器获取被管理的 Bean 时,IOC 容器对 Bean 进行的初始化和依赖注入过程,这些是 Spring IOC 容器的基本功能特性原创 2020-01-01 21:26:44 · 420 阅读 · 0 评论 -
SSM源码分析之Spring07-手写SpringV1.0
Spring03-手写SpringV1.0前言手写SpringV1.0后记前言手写SpringV1.0后记原创 2020-01-12 16:04:00 · 547 阅读 · 0 评论 -
SSM源码分析之Spring08-手写SpringV2.0
目录导航前言手写SpringV2.0准备工作后记前言前面的章节我们主要用简单的几个类实现一个核心的IOC功能。这节我们仿造spring进一步封装IOC手写SpringV2.0准备工作后记springV2.0 github地址...原创 2020-01-25 16:34:18 · 735 阅读 · 0 评论 -
SSM源码分析之Spring09-SpringMVC核心原理与手写实现
目录导航前言SpringMVC核心原理与源码分析如何理解MVC?SpringMVC原理时序图SpringMVC实现原理手写SpringMVCSpringMVC测试后记前言在上一节,我们已经整合Spring的IOC与AOP《SSM源码分析之Spring08-手写Spring源码V2.0》本节,我们要做的就是将SpringMVC整合其中。SpringMVC核心原理与源码分析如何理解MVC?...原创 2020-01-25 21:47:36 · 629 阅读 · 0 评论 -
SSM源码分析之Spring10-Spring事务原理与手写SpringAOP
目录导航前言Spring事务原理详解事务基本概念事务的基本原理Spring事务的传播属性数据库隔离级别Spring中的隔离级别事务的嵌套Spring事务API架构图浅谈分布式事务Spring AOP设计原理及应用场景SpringAOP应用示例SpringAOP设计原理及源码分析手写SpringAOP默认使用JDK代理aopconfig后记前言SSM源码分析之Spring09-SpringMVC...原创 2020-01-26 15:30:05 · 573 阅读 · 0 评论 -
SSM源码分析之Spring11-手写SpringORM
目录导航前言core后记前言core后记springORM github代码地址本系列参考的Spring源码版本是:Spring 5.0.2.RELEASE原创 2020-01-27 22:04:16 · 750 阅读 · 0 评论 -
SSM源码分析之Spring12-Spring5新特性及应用举例
目录导航前言Spring5新特性后记前言背景:不是为了推荐大家去使用Spring5文档很少、资料难找没有实战实践,包括老师自己没有用过目的:带大家来看看眼界了解一下未来的一个发展趋势推荐:SpringBoot,Spring生态链(框架的框架)Spring5新特性依赖JDK 8+和Java EE7+以上版本支持使用注解进行编程新增函数式编程支持使用REST断点执...原创 2020-01-28 15:16:06 · 369 阅读 · 0 评论 -
SSM源码分析之Spring13-Spring总结
目录导航前言正文后记前言正文Spring面试解答上半节:面试中需要注意的细节1、动脑子,面试是一种交流2、面试的时候,要用心去感受当时面试场景3、了解自己,自己的长处、自己的短处 (巧妙地扬长避短)业务场景你是去面试什么岗位的?Java高级工程师 实际工作经验是1年(如实填写)1、请描述Spring IOC的工作原理答:定位 加载 注册 BeanFactory Bea...原创 2020-01-28 15:16:19 · 323 阅读 · 0 评论