易截截图软件、单文件、免安装、纯绿色、仅160KB

使用Java的代理机制进行日志输出

示例代码如下:
//LogProxy.java
package com.gc.action;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class LogProxy implements InvocationHandler{
 private Logger logger = Logger.getLogger(this.getClass().getName());
 private Object delegate;
 //绑定代理对象
 public Object bind(Object delegate){
  this.delegate = delegate;
  return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
    delegate.getClass().getInterfaces(),this);
 }
 //针对接口编程
 public Object invoke(Object proxy,Method method,Object[] args) throws Throwable {
  Object result = null;
  try{
   //在方法调用前后进行日志输出
   logger.log(Level.INFO,args[0]+" 开始审核数据...");
   result = method.invoke(delegate, args);
   logger.log(Level.INFO,args[0]+" 审核数据结束...");
  }catch(Exception e){
   logger.log(Level.INFO,e.toString());
  }
  return result;
 }
}
//TimeBookInterface.java
package com.gc.impl;
//针对接口编程
public interface TimeBookInterface {
 public void doAuditing(String name);
}
//TimeBook.java
package com.gc.action;
import com.gc.impl.TimeBookInterface;
public class TimeBook implements TimeBookInterface {
 //审核数据的相关程序
 public void doAuditing(String name){
  System.out.println("审核程序");
 }
}
//TestHelloWorld.java
package com.gc.test;
import com.gc.action.LogProxy;
import com.gc.action.TimeBook;
import com.gc.impl.TimeBookInterface;
public class TestHelloWorld {
 public static void main(String[] args){
  //实现了对日志类的重用
  LogProxy logProxy = new LogProxy();
  TimeBookInterface timeBookProxy = (TimeBookInterface


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Windows下JAVA环境变量的设置详解


Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx ......

简单的JAVA编程

 计算一下时间!我开始学习JAVA编程已经两个月了,每节课都是在学习一下理论的东西。感觉上没啥用处一样,所以自己着手做一些简单的JAVA编程。第一次编程肯定没法跟大师们比较了,但是这也见证了我努力的结果!
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import javax.swing.JPassword ......

java 迷

    我的java学习了一年有余,起初是胡乱学,后来觉得java非常有意思,并且想在这方面深入学习,现在才是Java学习真正的开始。我正在阅读corejava和编程思想,学完这三本后想搞j2ee的开发。本人对数据库也感兴趣,现在热衷于SQL,但是我相信自己最终会瞄准ORECAL(很大程度出于好奇心),其实现在觉得Java DB ......

Java学习笔记13——正则表达式

 一、功能
     1、字符串的匹配
     2、字符串的查找
     3、字符串的替换
 二、Java中涉及的类
     java.lang.String类、java.util.regex.Matcher类、java.util.regex.Pattern类
三、初步了解
   & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号