- 博客(29)
- 收藏
- 关注
原创 MyBatis 探究 | 三、MyBatis体系结构与缓存机制
从宏观角度学习 MyBatis 的架构、工作流程、主要模块,从微观角度学习 MyBatis 的工作原理与设计思想
2021-11-04 17:09:44 264
原创 MyBatis 探究 | 二、MyBatis应用分析与最佳实践(二)
介绍 ORM 框架发展历史,介绍 MyBatis 特性介绍 MyBatis 编程式开发方法和核心对象介绍 MyBatis 核心配置含义介绍 MyBatis 的高级用法与扩展方式
2021-01-31 11:44:57 292
原创 MyBatis 探究 | 一、MyBatis应用分析与最佳实践(一)
介绍 ORM 框架发展历史,介绍 MyBatis 特性介绍 MyBatis 编程式开发方法和核心对象介绍 MyBatis 核心配置含义介绍 MyBatis 的高级用法与扩展方式
2021-01-15 18:10:47 414 1
原创 Spring源码探究 | 五、初识Spring的核心类图之IOC
Spring框架核心组成部分:Bean工厂和Spring上下文、BeanDefinition、BeanDefinitionReader、Resource和ResourceLoader
2020-04-13 18:14:26 701
原创 Spring源码探究 | 四、初试-提炼Spring+MVC核心功能 [二]
承接上文 : 三、初试-提炼Spring+MVC核心功能 [一],提炼Spring+MVC核心功能,手写Demo版本SpringMVC。
2020-01-19 16:25:54 222
原创 Spring源码探究 | 三、初试-提炼Spring+MVC核心功能 [一]
通过对Spring+SpringMVC暴露的集成方式以及主要功能,思考其原理,产出自己的思路并加以实现。并与Spring的实现原理做对比,并有所收获。
2020-01-13 15:49:35 240
原创 Spring源码探究 | 二、源码构建
在学习Spring源码前,我们手头上要有一套Spring的源代码方便我们梳理spring的逻辑。这套代码构建成功后我们可以在上面加入自己的注释,方便后续的学习。
2019-11-05 16:28:06 1157
原创 Spring源码探究 | 一、启程
Spring 是为解决企业级应用开发的复杂性而设计,它可以做很多事,但归根到底支撑 Spring 的仅仅是少许的基本理念,而所有的这些基本理念都能可以追溯到一个最根本的使命:简化开发
2019-10-31 16:33:11 234
原创 设计模式 | 十、观察者模式(JDK的Observer,Guava API)[ObserverPattern]
设计模式-观察者模式:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
2019-10-11 17:20:08 268
原创 设计模式 | 九、装饰器模式(与继承的区别,与适配器/代理的区别)[DecoratorPattern]
设计模式-装饰器模式:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
2019-09-29 14:00:22 4656 4
原创 设计模式 | 八、适配器模式(类适配器、对象适配器、双向适配器)[AdapterPattern]
设计模式-适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
2019-09-27 17:43:47 1120
原创 设计模式 | 七、模板方法模式[TemplateMethodPattern]
模板模式通常又叫模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为性设计模式。
2019-09-20 18:42:51 253
原创 设计模式 | 六、策略模式[StrategyPattern]
策略模式(Strategy Pattern)定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。
2019-09-04 23:09:00 228
原创 设计模式 | 五、委派模式(任务调度和分配)[DelegatePattern]
委派模式的基本作用就是负责任务的调用和分配任务,比如nginx的路径转发,比如spring Cloud中的网关 zuul、gateway等根据路径分发至具体的服务进行调用
2019-09-03 15:26:01 1781
原创 设计模式 | 四、代理模式(静态代理、JDK动态代理、Cglib动态代理、手写动态代理核心部分)[ProxyPattern]
代理模式1、应用场景在生活中,我们经常见到这样的场景,如:租房中介、售票黄牛、婚介、经纪人、快递、事务代理、非侵入式日志监听等,这些都是代理模式的实际体现。代理模式(ProxyPattern)的定义也非常简单,是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客服端和目标对象之间起到中介作用,代理模式属于结构型设计模式。使用代理模式主要有两个目的:一保护目标对象,二是对对象的某一功...
2019-09-01 18:09:42 447
原创 设计模式 | 三、原型模式(浅克隆、深克隆)[PrototypePattern]
原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
2019-08-27 16:03:57 377
原创 设计模式 | 二、单例模式(懒汉式、饿汉式、注册式、线程单例)[SingletonPattern]
单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。单例模式是创建型模式。单例模式在现实生活中应用也非常广泛。例如,windows的回收站、任务管理器等。在 J2EE 标准中,ServletContext、ServletContextConfig 等;在 Spring 框架应用中 ApplicationContext;数据库的连接池也都是单例形式。
2019-08-27 11:05:46 437
原创 设计模式 | 一、工厂模式(简单工厂、工厂方法、抽象工厂)[FactoryPattern]
工厂方法模式(Fatory Method Pattern)是指定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。在工厂方法模式中用户只需要关心所需产品对应的工厂,无须关心创建细节,而且加入新的产品符合开闭原则。
2019-08-21 15:18:08 408
原创 SpringCloud | 六、Spring Boot Admin 服务监控平台 [Finchley版]
Spring Boot Admin 是一个管理 和监控 Spring Boot 应用程序的一款开源软件,主要功能:1、显示 name/id和版本号 2、显示在线状态 3、Logging 日志级别管理 4、JMX beans 管理 5、Threads 会话和线程管理 6、Trace 应用请求跟踪 7、应用运行参数信息,如:Java 系统属性、Java 环境变量属性、内存信息、Spring 环境属性
2019-08-20 15:16:39 2663
原创 SpringCloud | 五、Spring Cloud Sleuth + Zipkin + Kafka + Elasticsearch + Kibana 服务调用全链路跟踪[Finchley版]
Spring Cloud体系下的服务调用全链路跟踪。
2019-08-14 17:30:55 2044 1
原创 SpringCloud | 四、Hystrix Dashboard+Turbine断路器监控服务[Finchley版]
基于Spring Cloud的断路器监控服务。
2019-08-01 17:37:27 579
原创 SpringCloud | 三、Spring Security OAuth2+JWT授权服务[Finchley版]
OAuth2.0是一套授权体系的开放标准,定义了四大角色:* 资源拥有者,也就是用户,由用于授予三方应用权限* 客户端,也就是三方应用程序,在访问用户资源之前需要用户授权* 资源提供者,或者说资源服务器,提供资源,需要实现Token和ClientID的校验,以及做好相应的权限控制* 授权服务器,验证用户身份,为客户端颁发Token,并且维护管理ClientID、Token以及用户
2019-08-01 17:34:09 1445
原创 SpringCloud | 二、zuul网关服务[Finchley版]
路由分发,作为所有接口请求入口,负责进行请求的流量转发动态路由配置与更新,可以将路由配置移至redis或者DB中,达到实时改变路由配置。Ribbon均衡负载统一的zuul网关层异常处理,方便调用方统一的异常数据解析处理请求限流,将阈值写入配置,动态配置限流的阈值大小服务层级熔断降级,服务宕机后,可及时进行熔断处理,防止服务器雪崩Swagger API文档,在线实时生成接口文档以及接口测试zuul过滤器,可在网关层加入各种过滤器,达到转发实际服务器前的一系列操作
2019-08-01 17:30:44 402
原创 SpringCloud | 一、eureka服务注册与发现[Finchley版]
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
2019-08-01 17:18:44 258
原创 记一次图片压缩引起的服务宕机优化
场景在做保险在线理赔业务中,用户申请理赔时,需要上传理赔单据照片,申请理赔后在理赔详情页并列展示上传的单据缩略图照片,单击某张照片后可放大查看该张照片。介于如今的手机拍照后形成的照片基本在2-4MB左右的大小,在展示理赔详情缩略图时,如果使用原图图片URL进行展示,将会耗费巨大的流量来加载图片。对于用户处于网速不好的环境下,会造成图片加载不出来的问题。同时也为了节省用户的流量,故要针对上传的图片...
2019-08-01 16:04:34 1282
原创 解决因为hibernate的懒加载引起的json 序列化失败的问题
在使用hibernate的过程中, 对于某些关联的属性对象 有进行懒加载的操作, 这时如果存在懒加载的对象,进行json序列化的时候,会报错。可以使用一个过滤器,进行 过滤不需要被序列化的属性,主要是应用于Hibernate的代理和管理。代码如下 package com.lazyant.util;import org.hibernate.collection.sp
2017-02-04 10:13:24 3574
转载 使用hilo高低位算法-生成编号
通常订单编号、产品编号、付款编号等编号,都是由数字构成,有得会加一些前缀后缀,例如淘宝订单号。下面说一下几点不合理的编号设计。使用数字型的自增长、序列。这用来表示唯一性没问题,但是当我们遇到像订单编号这种,需要一定长度不太合适。编号需要一定长度,可能你会想到uuid。uuid生成的包含字符,无序、无意义而且也比较长,不符合我们的写记习惯,所以uuid做编号也是不合理的。
2017-02-04 09:53:59 4423
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人