09 2022 档案
Spring 高级 cglib代理原理 MethodProxy
摘要:一、模拟cglib代理 package com.mangoubiubiu.show.a14; public class Target { public void save(){ System.out.println("save()"); } public void save(int i){ Syst
Spring 高级 cglib代理原理
摘要:一、模拟cglib代理 package com.mangoubiubiu.show.a14; import org.springframework.cglib.proxy.MethodInterceptor; import java.lang.reflect.Method; import java.
Spring 高级 jdk反射优化
摘要:一、代码 package com.mangoubiubiu.show.asm; import java.lang.reflect.Field; import java.lang.reflect.Method; // 运行时请添加 --add-opens java.base/java.lang.ref
Spring 高级 jdk代理原理-字节码篇
摘要:一、利用ASM插件生成 asm生成代理类的字节码代码 1、写好代理类 package com.mangoubiubiu.show.asm; import org.springframework.cglib.proxy.UndeclaredThrowableException; import java
Spring 高级 jdk代理原理-源码篇
摘要:一、利用Arthas工具 反编译出源码 发现和我们自己写的模拟jdk代理差不多 /* * Decompiled with CFR. * * Could not load the following classes: * com.mangoubiubiu.show.a12.JdkProxyDemo$F
Spring 高级 jdk代理原理-进阶篇
摘要:一、获取目标方法的返回 package com.mangoubiubiu.show.a13; import java.lang.reflect.Method; public class A13 { interface Foo{ void foo() ; int bar() ; } interface
Spring 高级 jdk代理原理-基础篇
摘要:一、简单代理 package com.mangoubiubiu.show.a13; public class A13 { interface Foo{ void foo(); } static class Target implements Foo{ @Override public void fo
Spring 高级 AOP 实现之proxy增强-cglib
摘要:一、代码 package com.mangoubiubiu.show.a12; import org.springframework.cglib.proxy.Enhancer; import org.springframework.cglib.proxy.MethodInterceptor; pub
Spring 高级 AOP 实现之 proxy增强-jdk
摘要:一、代码 package com.mangoubiubiu.show.a12; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; p
Spring 高级 AOP 实现之 agent 增强
摘要:一、代码 package com.itheima.aop; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.slf4j.Logger; import or
Spring 高级 AOP 实现之 ajc 编译器
摘要:一、代码 package com.itheima.aop; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.slf4j.Logger; import or
Spring 高级 Scope失效解决
摘要:一、面试问题 1、如果一个单例Bean里面 注入多例 通过单例Bean对象获取到的多例Bean是单例还是多例 二、 失效演示 1、代码 package com.mangoubiubiu.show.a09; import org.springframework.beans.factory.annota
Spring 高级 Scope
摘要:介绍 1、在当前版本的 Spring 和 Spring Boot 程序中,支持五种 Scope singleton,容器启动时创建(未设置延迟),容器关闭时销毁 prototype,每次使用时创建,不会自动销毁,需要调用 DefaultListableBeanFactory.destroyBean(