YangYongKang's Blog

行有不得 反求诸己

设计模式

设计模式七大原则 1.开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 2.里氏替换原则 子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。 3.依赖倒置原则 高层模块不应该依赖低层...

Spring Boot运行流程及原理解析

运行流程大概 1.准备环境 执行ApplicationContextInitializer  initialize方法,(ApplicationContextInitializer配置在META-INFO/spring.factories,) 监听器回调SpringApplicationRunListener  contextPrepared方法(SpringApplicatio...

Spring事务解析

什么是事务 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 简单的说,事务就是并发控制的单位,是用户定义的一个操作序列。事务的概念可以描述为具有以下四个关键属性说成是 ACID: 事务的特性 A:原子性(Atomicity) 事务中的操作要么都不做,要么就全做。 C:一致性(Consistency) 事务执行的结果必须是从数据库从一个一致性状态转换到另...

如何使用RedisTemplate访问Redis数据结构

Redis 数据结构简介:       Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。 下面来对这5种数据结构类型作简单的介绍: | 结构类型| 结构存储的值 | 结构的读写能力| | :——– | ——–:| :——: | | String ...

后端架构设计导图

DevOps 并发编程 性能优化 分布式 分布式 微服务 源码分析

SpringBoot 全局异常处理

说明 spring boot全局异常是以ControllerAdvice注解和@ExceptionHandler注解实现对全局异常的特殊处理,当然你也可以使用 @Controller + @ExceptionHandler进行局部异常处理. 局部异常处理 局部异常处理 @Controller + @ExceptionHandler 局部异常主要用到的是@Exce...

SpringBoot 2.x 自定义拦截器并解决静态资源访问被拦截问题

说明 在自己写一个spring boot demo的时候,想着根据session的过期时间来返回登录页面,在自定义完拦截器以后功能可以实现,但是静态资源却无法访问,通过查找文档发现spring boot 1.x和2.x是不一样,所以特别记录一下,留给后面的同学避免踩坑. 1.x和2.x的静态资源访问区别 1.x的resources/static目录下的静态资源可以直接访问,并且访问路...

Java后端系统架构解决方案合集

缓存 spring cache jetcache redis相关 redisson redis桌面管理工具 cachecloud jedis 配置中心 暂无 注册中心服务 zookeeper eureka api文档管理 showdoc rpc dubbo sofa-rpc mqrpc 微服务 sp...