一、动态代理API
1.JDK的动态代理
Object proxyObject = Proxy.newProxyInstance(类加载器, Class[] 接口, new InvocationHandler(){
public Object invoke(Object proxy, Method method, Object[] args){
//前置增强
//可以调用目标对象的method方法完成功能。也可以不调用,由代理对象完成功能
//后置增强
return 返回值;
}
})
2.CGLIB的动态代理
(1)导入依赖:
<dependencies>
<!-- spring的包里已经包含了cglib,可以直接使用。不需要再额外导入cglib -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
</dependencies>
(2)api:
SuperStar proxy = (SuperStar) Enhancer.create(star.g