Spring AOP 学习之cJlib动态代理
来源:互联网 发布:数据挖掘要学哪些东西 编辑:程序博客网 时间:2024/05/17 02:16
cjlib动态代理,首先需要导入包:cglib-nodep-2.1_3.jar
然后基本的写法与JDK的动态代理相同。
只是在代理类有些不一样。
package com.yc.advice;import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;//这个类是一个切面类, 完成的功能是向目标类的目标方法加入功能( 增强)public class RightAdvice implements MethodInterceptor { //代理模式中一定要有目标类的引用 private Object targetObject; //注意,这个就是目标类的引用 @Override public Object intercept(Object proxy, Method method, Object[] args, MethodProxy arg3) throws Throwable { String methodName=method.getName(); if( methodName.startsWith("add") || methodName.startsWith("del")|| methodName.startsWith("update") || methodName.startsWith("modify") ){ //在invoke中加入您要增强的代码 check(); //前置增强 } //调用目标的对应的方法 Object returnValue=method.invoke(targetObject, args); // object is not an instance of declaring class return returnValue; } //创建一个方法来完成创建代理对象 public Object createInstance( Object targetObject ){ this.targetObject=targetObject; // => Object Enhancer enhancer=new Enhancer(); enhancer.setSuperclass( targetObject.getClass() ); //enhancer.setClassLoader( targetObject.getClass().getClassLoader() ); enhancer.setCallback( this ); return enhancer.create(); //创建代理类对象. } //增强 private void check(){ System.out.println("***********************************"); System.out.println("权限检查"); System.out.println("***********************************"); }}
0 0
- Spring AOP 学习之cJlib动态代理
- Spring AOP之动态代理
- Spring AOP 学习之java JDK动态代理
- Spring学习笔记之aop动态代理(3)
- Spring AOP之动态代理原理解析
- spring-aop入门之动态代理模式
- Spring AOP 之 java 动态代理基础
- Spring Boot AOP之Java 动态代理
- Spring AOP之动态代理原理解析
- 《Spring AOP学习总结之——通过动态代理实现AOP功能》
- Spring Aop 动态代理
- Spring AOP动态代理
- Spring AOP 动态代理
- spring aop动态代理
- Spring(AOP动态代理)
- 静态代理,jdk动态代理和cjlib动态代理
- web学习笔记19-静态代理,动态代理,spring AOP
- spring aop学习6:jdk动态代理(基于接口代理)
- iOS开发之保存照片到自己创建的相簿
- Android APK 反编译工具
- PAT 1013. Battle Over Cities (25)
- ios隐藏uitableview下面多余的tableview的线条
- 【C】利用单链表数据结构实现通讯录,链表的增删改查
- Spring AOP 学习之cJlib动态代理
- PDF目录标签自动生成示范 《Handbook.of.Applied.Cryptography》(Alfred.J..Menezes).pdf
- 已知字符串中的单词间由单个空格隔开,实现函数,返回字符串s中出现次数最多的单词与次数组成的字符串
- python引用和复制一个对象
- C# coding-guidelines
- Android 手机壁纸(动态1)
- Linux - 延伸正则表达式
- java同步方法和同步代码块详解(通俗地讲解)
- android 中的PopupWindow错误处理