
Java
文章平均质量分 65
La-La-La-La-La vida
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring 使用junit5报错TestEngine with ID ‘junit-vintage‘ failed to discover tests” with Spring
网上都是排除junit4的,试过了没有效果。 提供一种比较特殊的情况: 目录建错了,com是对的,java.com是错的。 反正我这里也不需要排除: 可能spring boot 2.5.11已经改掉了这个问题,不需要排除了,出现这个错误可以考查一下目录分级的问题。 ...原创 2022-03-30 17:02:37 · 2034 阅读 · 0 评论 -
从静态代理到动态代理,理解动态代理原理
前提 已经明白静态代理,也就是普通的代理模式,是建立一个代理类,与目标类实现同一个接口,并且有一个变量存放目标类,在相同方法中调用目标实例的相应方法,并且在前后加上增强代码。 静态代理的问题就是:1. 每个目标类都需要手动构建一个代理类,工作量大;2. 增强逻辑(比如日志)可以提出来加以复用。 所以动态代理要解决的就是,在给定一个目标类的情况下,直接创建一个代理实例(不需要创建代理类),代理实例里面是统一的一个增强逻辑。 动态代理的实现 要直接根据目标类给出一个代理实例,主要有两种思路: 使用目标类的信息原创 2021-11-09 11:18:33 · 231 阅读 · 0 评论 -
Java反射入门
1. 反射 反射这个名词似乎很难理解,但是实际上就是通过另一种方式去操作对象而已,一般操作对象就是直接用,比如A a = new A();通过引用a来操作相应的那个对象就行。但是如果一个方法的参数是Object o,假设o和a都指向同一个对象,但是o是Object类型的引用,是没办法调用到A的特有方法和属性的,想通过这个引用o来操作真正的对象,就要用到属性。 但是从o这个引用本身是没办法的,但是虽然o是那个对象的引用,但是那个对象在内存的真正类型是A,所以我们通过o去内存中获取A对象的相关信息(有哪些字段,原创 2021-03-23 12:10:14 · 102 阅读 · 0 评论