反射
文章平均质量分 67
孤竹彧
一个想进步,又控制不住自己的小码农
展开
-
Spring的AOP与mybatis的插件与拦截器到动态代理
基本上基于动态代理实现,也就是在InvocationHandler的invoke方法做增强,spring的AOP(JDK模式)是如此,mybatis的拦截器和插件也是如此。2、JdkDynamicAopProxy的invoke就是InvocationHandler的invoke方法的增强。2019年时候,我就学习了动态代理,不过当时只是依葫芦画瓢实现了而已,对于这个怎么用,还是不够明白。1、Spring在生成bean时候,如果加了注解并且有切面使用的,会生成代理对象而不是原生对象。我先再次实现下动态代理。原创 2023-03-29 18:20:34 · 446 阅读 · 0 评论 -
AOP实战:实现在删除时先查询关联表是否删除
比如:我们想删除角色时,需要先判断是否有用户使用了该角色。思路:我们在删除的方法上加上注解,标注需要校验哪个字段,在哪个表里有被关联。定义注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface InterfaceDeletedCheck { //...原创 2020-03-10 19:36:35 · 670 阅读 · 0 评论 -
java基础学习19-04-15
Integer的valueOf方法,当数值处于-128至127时,使用缓存,所以Integer a = 100;Integer b = 100;时a==b;当数值超过区间时,不使用缓存,所以Integer a = 200;Integer b = 200;时a!=b;使用new构造的,是不等的public static Integer valueOf(int i) {final int of...原创 2019-04-15 20:44:56 · 132 阅读 · 0 评论 -
java基础学习,反射和注解19-04-16
获取某个类或某个对象所对应的 Class 对象的常用的 3 种方式:a) 使用 Class 类的静态方法 forName:Class.forName(“java.lang.String”);b) 使用类的.class 语法:String.class;c) 使用对象的 getClass()方法:String s = “aa”; Class<?> clazz = s.getClass...原创 2019-04-16 19:18:11 · 147 阅读 · 0 评论 -
利用反射交换Integer类型的值
如果只是简单的交换,会很简单,完全不需要反射只是要改变的是Integer的值而不改变Integer这个对象,就需要反射了public static void main(String[] args) { Integer a = 2; Integer b = 3; swap(a, b); System.out.println(a); System.out.p...原创 2019-08-27 10:57:57 · 691 阅读 · 0 评论