当前位置: 首页 > news >正文

免费推广网站软件wordpress 不显示文章归档

免费推广网站软件,wordpress 不显示文章归档,网站建设费用首选网络,制作一个公司网页多少钱目录 CGLIB 使用示例-支持创建代理对象#xff0c;执行代理逻辑 使用示例-多个方法#xff0c;走不同的代理逻辑 JDK动态代理 使用示例-支持创建代理对象#xff0c;执行代理逻辑 Spring会自动在JDK动态代理和CGLIB之间转换: 1、如果目标对象实现了接口#xff0c;默…目录 CGLIB 使用示例-支持创建代理对象执行代理逻辑 使用示例-多个方法走不同的代理逻辑 JDK动态代理 使用示例-支持创建代理对象执行代理逻辑 Spring会自动在JDK动态代理和CGLIB之间转换: 1、如果目标对象实现了接口默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口可以强制使用CGLIB实现AOP 3、如果目标对象没有实现了接口必须采用CGLIB库 本文主要讲解CGLIB和JDK动态代理的使用和底层原理 CGLIB CGLIB动态代理是利用ASM开源包对代理对象类的class文件加载进来通过修改其字节码生成子类来处理。 使用示例-支持创建代理对象执行代理逻辑 新建一个UserService类这个类是目标类后续会被代理 public class UserService {public void test() {System.out.println(userService execute test....);} } 使用Enhancer类设置代理类UserService设置代理逻辑创建代理对象 public class CylTest {public static void main(String[] args) {UserService target new UserService();Enhancer enhancer new Enhancer();enhancer.setSuperclass(UserService.class);//设置代理逻辑enhancer.setCallbacks(new Callback[]{new MethodInterceptor() {Overridepublic Object intercept(/*目标对象*/Object o,/*目标对象方法*/Method method,/*参数*/Object[] args,/*代理对象方法*/MethodProxy methodProxy) throws Throwable {System.out.println(before);Object result method.invoke(target, args);System.out.println(after);return result;}}});//创建代理对象类型是UserService但却是代理对象UserService userService (UserService) enhancer.create();userService.test();} } 这个阶段会产生三个对象 1.目标对象-targetUserService 2.负责创建代理对象的工厂对象enhancer 3.代理对象-proxyUserService 最终执行效果 before userService execute test.... after 使用示例-多个方法走不同的代理逻辑 新建一个UserService类设置两个方法 public void test() {System.out.println(userService execute test....);}public void a() {System.out.println(userService execute a....);} 在enhancer对象中设置两个代理逻辑test方法走代理逻辑1a方法走代理逻辑2 public static void main(String[] args) {UserService targetUserService new UserService();Enhancer enhancer new Enhancer();enhancer.setSuperclass(UserService.class);//代理逻辑:1MethodInterceptor firstCallback new MethodInterceptor() {Overridepublic Object intercept(Object o, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {System.out.println(before);Object result method.invoke(targetUserService, args);System.out.println(after);return result;}};//代理逻辑:2NoOp secondCallback NoOp.INSTANCE;enhancer.setCallbacks(new Callback[]{firstCallback, secondCallback});enhancer.setCallbackFilter(new CallbackFilter() {Overridepublic int accept(Method method) {//方法test执行》firstCallback代理逻辑:1if (method.getName().equals(test)) {return 0;}//其他执行》secondCallback代理逻辑:2return 1;}});UserService proxyUserService (UserService) enhancer.create();System.out.println(执行proxyUserService.test:);proxyUserService.test();System.out.println(--------------------------------------------------------);System.out.println(执行proxyUserService.a:);proxyUserService.a();} 最终执行效果 执行proxyUserService.test: before userService execute test.... after -------------------------------------------------------- 执行proxyUserService.a: userService execute a.... JDK动态代理 JDK动态代理是利用反射机制生成一个实现代理接口的匿名类在调用具体方法前调用InvokeHandler来处理。 使用示例-支持创建代理对象执行代理逻辑 //接口 public interface UserInterface {void test();void a(); } //实现类 public class UserService implements UserInterface {Overridepublic void test() {System.out.println(userService execute test....);}Overridepublic void a() {System.out.println(userService execute a....);} } 使用Proxy.newProxyInstance创建一个代理接口InvocationHandler制定代理逻辑 public class CylTest {public static void main(String[] args) {UserService targetUserService new UserService();UserInterface proxyUserInterface (UserInterface) Proxy.newProxyInstance(UserInterface.class.getClassLoader(),new Class[]{UserInterface.class},new InvocationHandler() {Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println(before);Object result method.invoke(targetUserService, args);System.out.println(after);return result;}});proxyUserInterface.test();} } 最终执行效果 before userService execute test.... after
http://www.pierceye.com/news/467199/

相关文章:

  • 泉州专业做网站网站被k 原因
  • 18款禁用网站app直播建设部资质网站
  • 免费完整版的网站模板商丘行业网站建设开发公司
  • 网站与微网站区别推广通
  • 京东网站建设的意义wordpress美图
  • 佛山市外贸网站建设公司营销型网站建设 兼职
  • 四川省城乡与建设厅网站中国十大it培训机构排名
  • 国家高新技术企业查询网站汕头整站优化
  • asp网站生成静态在线网站软件免费下载
  • wordpress古腾堡编辑器广州建网站开发seo型企业网站
  • 易云巢做营销型网站wordpress下载视频播放器
  • google网站哪里找人做网站
  • 外贸网站建设如何做呢百度热搜风云榜
  • ASP网站建设实训报告总结山西建设公司网站
  • 网站建设使用的什么软件房屋设计风格
  • 厦门网站建设公司排名杭州小型网站建设服务
  • 西安建设主管部门官方网站中文搭建式软件开发工具
  • 南通网站建设论文网站首页导航栏怎么做
  • 建设网站的运行费包括什么北京市建设工程信息网安徽兴创
  • 我想在泉州做网站上上海网站设计
  • 百度seo网站优化一 网站开发体会
  • 成都58手机微信网站建设名录tiktok跨境电商好做吗
  • 电子科技 深圳 网站建设怎么做打码网站
  • 南宁小程序开发网站建设公司公司网站建设怎么选择
  • erp网站代做项目网络进度图
  • 网站建设胶州家园外贸网站怎么注册
  • 我想找阿里巴巴做网站推广建一个公司网站花多少钱
  • 最新购物网站建设框架wordpress 登录后台乱码
  • 音频网站开发做外贸网站需要营业执照
  • 企业网站搭建项目概述范文wordpress更改链接地址