引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库 ...
分类:
其他好文 时间:
2020-07-22 11:27:53
阅读次数:
65
动态代理 动态代理23种设计模式之一 动态代理的基于反射的 代理模式: 作用: 1)功能增强:在原有的功能上,增加了额外的功能,做了功能增强 2)控制访问:代理不让用户访问目标,比如4S店不让我直接找厂家 开发中,如果A类本来是调用C类的方法,完成某个功能 但是C不让A调用 A不能访问C,然后在A和 ...
分类:
其他好文 时间:
2020-07-21 22:54:25
阅读次数:
68
动态代理解决了方法之间的紧耦合,IOC解决了类与类之间的紧耦合! Cglib和jdk动态代理的区别? 1、Jdk动态代理:利用拦截器(必须实现InvocationHandler)加上反射机制生成一个代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理 2、 Cglib动态代理:利用 ...
分类:
其他好文 时间:
2020-07-21 22:51:04
阅读次数:
78
0. 为什么学习代理模式 因为代理模式是spring AOP的底层 1. 代理模式的分类 代理模式分为:静态代理和动态代理 2. 静态代理模式 以租房为例,分析静态代理模式 角色分析 抽象角色:一般会使用接口或者抽象类来解决。 真实角色:被代理的角色。 代理角色:代理真实角色,代理真实角色后,我们一 ...
分类:
其他好文 时间:
2020-07-21 14:07:21
阅读次数:
55
1. 动态代理分类 动态代理的两种实现方式:1)JDK动态代理;2)CGLIB动态代理 2. JDK动态代理Demo JDK动态代理所用到的代理类在程序调用到代理类对象时才由JVM真正创建,JVM根据传进来的 业务实现类对象 以及 方法名 ,动态地创建了一个代理类的class文件并被字节码引擎执行, ...
分类:
编程语言 时间:
2020-07-21 00:53:49
阅读次数:
81
一、过程 1、接口类 2、普通类继承接口 3、ProxyInvocationHandler.java(固定格式) 4、应用类 二、案例 public interface User { void add(); void delete(); void update(); void query(); } ...
分类:
编程语言 时间:
2020-07-19 16:08:03
阅读次数:
73
前景回顾第一节从零开始手写mybatis(一)MVP版本中我们实现了一个最基本的可以运行的mybatis。常言道,万事开头难,然后中间难。mybatis的插件机制是mybatis除却动态代理之外的第二大灵魂。下面我们一起来体验一下这有趣的灵魂带来的痛苦与快乐~插件的作用在实际开发过程中,我们经常使用的Mybaits插件就是分页插件了,通过分页插件我们可以在不用写count语句和limit的情况下就
分类:
其他好文 时间:
2020-07-19 13:54:55
阅读次数:
70
之前学习Spring Boot有点囫囵吞枣的意味,没有细究这些注解间的差异。现在空下来重新回过头来阅读官方文档才对这几个注解有了重新的理解,专门写下来好供日后查询翻阅。 @Configuration 指示一个类声明了一个或多个@Bean方法,并且可以由Spring容器进行处理以在运行时为这些bean ...
分类:
编程语言 时间:
2020-07-17 13:53:57
阅读次数:
172
动态代理在无需创建具体代理类的情况下,创建代理对象。 接口+委托类(实现接口)-->代理类(调用代理类中方法) 动态代理无需对每一个委托类创建代理类,且修改接口时无需对代理类批量修改。 //动态代理类只能代理接口(不支持抽象类),代理类都需要实现InvocationHandler类,实现invoke ...
分类:
其他好文 时间:
2020-07-17 09:28:21
阅读次数:
74
动态代理 package test; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; //被代理类接口 interface Buy ...
分类:
其他好文 时间:
2020-07-16 21:56:05
阅读次数:
67