- 博客(106)
- 资源 (2)
- 收藏
- 关注
原创 Mybatis-Plus快速入门:Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP
Mybatis-plus快速入门及入门案例
2022-07-16 13:54:37
499
原创 Spring Data JPA 执行过程源码分析
Spring Data JPA 执行过程源码分析Spring Data Jpa 源码很少有⼈去分析,原因如下:1)Spring Data Jpa 地位没有之前学习的框架高,大家习惯把它当成一个工具来用了,不愿意对它进行源码层次的解读2)开发Dao接口(ResumeDao),接口的实现对象肯定是通过动态代理来完成的(增强),代理对象的产生过程追源码很难追,特别特别讲究技巧源码剖析的主要的过程,就是代理对象产生的过程我们发现resumeDao是一个代理对象,这个代理对象的类型是SimpleJapRep
2021-07-15 11:02:00
469
原创 Spring Data JPA 应用案例实现
Spring Data JPA 应用案例实现需求:使用 Spring Data JPA 完成对 tb_resume 表(简历表)的Dao 层操作(增删改查,排序,分页等)数据表设计初始化Sql语句SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for tb_resume-- ----------------------------DROP TAB
2021-07-15 10:41:15
292
1
原创 Spring Data JPA:概述
Spring Data JPA:概述及开发实现Spring Data Jpa 是应用于Dao层的一个框架,简化数据库开发的,作用和Mybatis框架一样,但是在使用方式和底层机制是有所不同的。最明显的一个特点,Spring Data Jpa 开发Dao的时候,很多场景我们连sql语句都不需要开发。由Spring出品。1、 Spring Data JPA 概述什么是 Spring Data JPASpring Data JPA 是 Spring 基于JPA 规范的基础上封装的一套 JPA 应用框架,
2021-07-15 10:01:01
311
原创 手写实现自定义简易版Spring (实现IoC 和 AOP)
手写实现自定义简易版Spring (实现IoC 和 AOP)源码地址点这里1、 银行转账案例界面2、 银行转账案例表结构3、 银行转账案例代码调用关系4、 银行转账案例关键代码TransferServletpackage com.tao.servlet;import com.tao.service.impl.TransferServiceImpl;import com.tao.utils.JsonUtils;import com.tao.pojo.Result;import c
2021-07-13 16:32:48
210
原创 分布式集群架构场景优化解决方案:Session共享问题
分布式集群架构场景优化解决方案:Session共享问题Session共享问题Session共享及Session保持或者叫做Session一致性1、 Session问题原因分析出现这个问题的原因,从根本上来说是因为Http协议是无状态的协议。客户端和服务端在某次会话中产生的数据不会被保留下来,所以第二次请求服务端无法认识到你曾经来过, Http为什么要设计为无状态协议?早期都是静态页面无所谓有无状态,后来有动态的内容更丰富,就需要有状态,出现了两种用于保持Http状态的技术,那就是Cookie和Se
2021-06-24 16:33:31
206
1
原创 分布式集群架构场景优化解决方案:分布式调度问题
分布式集群架构场景优化解决方案:分布式调度问题分布式调度问题调度—>定时任务,分布式调度—>在分布式集群环境下定时任务这件事Elastic-job(当当网开源的分布式调度框架)1、 定时任务的场景定时任务形式:每隔一定时间/特定某一时刻执行例如:订单审核、出库订单超时自动取消、⽀付退款礼券同步、生成、发放作业物流信息推送、抓取作业、退换货处理作业数据积压监控、日志监控、服务可用性探测作业定时备份数据⾦融系统每天的定时结算数据归档、清理作业报表、离线数据分析作业
2021-06-23 19:47:25
699
2
原创 分布式集群架构场景优化解决方案:分布式ID解决方案
分布式集群架构场景优化解决方案:分布式ID解决方案分布式ID解决方案为什么需要分布式ID(分布式集群环境下的全局唯一ID)1、UUID(可以用)UUID 是指Universally Unique Identifier,翻译为中文是通用唯一识别码产生重复 UUID 并造成错误的情况非常低,是故大可不必考虑此问题。import java.util.UUID;public class UuidTest { public static void main(String[] args) {
2021-06-23 15:32:40
288
1
原创 分布式集群架构场景化解决方案:集群时钟同步问题
分布式集群架构场景化解决方案:集群时钟同步问题1、 时钟不同步导致的问题时钟此处指服务器时间,如果集群中各个服务器时钟不一致势必导致一系列问题,试想 “集群是各个服务器一起团队化作战,大家工作都不在一个点上,岂不乱了套!”举一个例子,电商网站业务中,新增一条订单,那么势必会在订单表中增加了一条记录,该条记录中应该会有“下单时间”这样的字段,往往我们会在程序中获取当前系统时间插入到数据库或者直接从数据库服务器获取时间。那我们的订单子系统是集群化部署,或者我们的数据库也是分库分表的集群化部署, 然而他们的
2021-06-20 21:55:36
256
原创 分布式集群架构场景化解决方案:一致性Hash算法
分布式集群架构场景化解决方案:一致性Hash算法分布式和集群分布式和集群是不一样的,分布式一定是集群,但是集群不一定是分布式(因为集群就是多个实例一起⼯作,分布式将一个系统拆分之后那就是多个实例;集群并不一定是分布式,因为复制型的集群不是拆分而是复制)一致性Hash算法Hash算法,比如说在安全加密领域MD5、SHA等加密算法,在数据存储和查找方面有Hash表等, 以上都应用到了Hash算法。为什么需要使用Hash?Hash算法较多的应用在数据存储和查找领域,最经典的就是Hash表,它的查询效
2021-06-20 18:27:53
452
1
原创 Spring AOP源码剖析:Spring声明式事务控制
Spring AOP源码剖析:Spring声明式事务控制Spring声明式事务控制声明式事务很方便,尤其纯注解模式,仅仅几个注解就能控制事务了那这些注解都做了什么呢?好神奇!好厉害!@EnableTransactionManagement @Transactional1、 @EnableTransactionManagement@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Impor
2021-06-18 14:27:26
186
2
原创 Spring AOP源码剖析:代理对象创建流程
Spring AOP源码剖析:代理对象创建流程代理对象创建1、 AOP基础用例准备Bean定义@Componentpublic class LagouBean { public void tech(){ System.out.println("java learning......"); }}Aspect定义@Component@Aspectpublic class LagouAspect { @Pointcut("execution(* com.tao.*.*(..))")
2021-06-17 15:32:18
268
1
原创 Spring AOP 应用:Spring 声明式事务的支持
Spring AOP 应用:Spring 声明式事务的支持Spring 声明式事务的支持编程式事务: 在业务代码中添加事务控制代码,这样的事务控制机制就叫做编程式事务声明式事务: 通过xml或者注解配置的方式达到事务控制的目的,叫做声明式事务1、 事务回顾1.1、 事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。从而确保了数据的准确与安全。例如:A——B转帐,对应于如下两条sql语句:/*转出账户减钱*/update account set mone
2021-06-16 15:07:38
289
原创 Spring AOP 应用:三种配置及实现方式
Spring AOP 应用:三种配置及实现方式AOP本质:在不改变原有业务逻辑的情况下增强横切逻辑,横切逻辑代码往往是权限校验代码、日志代 码、事务控制代码、性能监控代码。1、 AOP 相关术语1.1、 业务主线在讲解AOP术语之前,我们先来看一下下面这两张图,在此基础上去进一步回顾AOP,不进行实现上图描述的就是未采用AOP思想设计的程序,当我们红色框中圈定的方法时,会带来⼤量的重复劳动。 程序中充斥着⼤量的重复代码,使我们程序的独立性很差。而下图中是采用了AOP思想设计的程序,它把红框部分的
2021-06-16 13:17:47
840
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人