/** * SqlReporter. */ public class SqlReporter implements InvocationHandler { private Connection conn; private static boolean loggerOn = false; private static final Logger log = Logger.getLogger(SqlReporter.class); SqlReporter(Connection conn) { this.conn = conn; } public static void setLogger(boolean on) { SqlReporter.loggerOn = on; } @SuppressWarnings("rawtypes") Connection getConnection() { Class clazz = conn.getClass(); return (Connection)Proxy.newProxyInstance(clazz.getClassLoader(), new Class[]{Connection.class}, this); } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { if (method.getName().equals("prepareStatement")) { String info = "Sql: " + args[0]; if (loggerOn) log.info(info); else System.out.println(info); } return method.invoke(conn, args); } catch (InvocationTargetException e) { throw e.getTargetException(); } } }
最近看jfinal源码,熟悉框架构造的时候,发现的一个学习点。
代理对象和真实业务对象。
直接代码:
相关推荐
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 19. Stream API的概述.avi
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 20. Stream的实例化.avi
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 16. 方法引用的使用情况
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 17. 方法引用的使用情况
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 23. Stream的中间操作:
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 26. Stream的终止操作:
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 25. Stream的终止操作:
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 21. Stream的中间操作:
计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 18. 构造器引用与数组引用
计算机后端-Java-Java核心基础-第15章 面向对象07 18. 接口应用:代理模式.avi
代理 17 Static 17 Final 17 接⼝和抽象类 18 接⼝ 18 抽象类 18 异常 18 认识 Exception 18 什么是 Throwable 18 常⻅的 Exception 19 与 Exception 有关的 Java 关键字 19 什么是 Error 20 内部类 20 集合 20 ...
伴随着Java的成长,《Java核心技术》从第1版到第11版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。 本书经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百...
我们假定读者愿意(甚至渴望)学习Java提供的所有高级特性。本书将详细介绍下列内容: · 面向对象程序设计· 异常处理 · 反射与代理· 泛型程序设计 ·接口与内部类· 集合框架 ·事件监听器模型·并行操作 · ...
《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...
构建,分模块学习,涉及反射,代理,多线程,IO,集合类等核心知识。 如果觉得不错,请先在这个仓库上点个 star 吧,这也是对我的肯定和鼓励,谢谢了。 不定时进行调整和补充,需要关注更新的请 watch、star、fork ...
Java 基础核心总结 java全方面基础知识 java开发人员必备 通过带着读者手写简化版 Spring 框架,了解 Spring 核心原理。在手写Spring 源码的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,...
JAVA2核心技术第7版卷1基础知识-中文版 内容提要: 本书是Java技术经典参考书,多年畅销不衰。第7版在保留以前版本风格的基础上,涵盖Java2开发平台标准版J2SE 5.0的基础知识,主要内容包括面向对象程序设计、反射与...
javasyntax.zip 05.Java核心语法详解 javaoop.zip 06.Java面向对象编程(计算器) javaexception.zip 07.Java面向对象编程扩展(计算器异常捕捉实例) 第3部分(5个程序包) javaio.zip 09.Java输入/输出流 ...