java 动态代理
1、首先必须有个接口
package reflection;
public interface HelloWorld {
void sayHelloWorld();
void testHello(String hello);
}
2、接口的实现类
package reflection;
public class HelloWorldImpl implements HelloWorld {
public void sayHelloWorld() {
System.out.println("Hello World!");
}
public void testHello(String hello) {
System.out.println(hello);
}
}
3、实现动态代理类,此类必须实现接口InvocationHandler,实现洗接口的方法
invoke(Object proxy, Method method, Object[] args)
在实际使用时,第一个参数obj一般是指代理类,method是被代理的方法,args为该方法的参数数组。
package reflection;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class HelloWorldHandler implements InvocationHandler {
// 要代理的原始对象
private Object objOriginal;
/**
* 构造函数。
* @param obj 要代理的原始对象。
*/
public HelloWorldHandler(Object obj) {
this.objOriginal = obj;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result;
// 方法调用之前
doBefore();
// 调用原始对象的方法
result = method.invoke(this.objOriginal, args);
// 方法调用之后
doAfter();
return result;
}
private void doBefore() {
System.out.println("before method invoke!");
}
private void doAfter() {
System.out.println("after method invoke!");
}
}
Proxy:该类即为动态代理类,作用类实现了InvocationHandler接口的代理类,其中主要包含以下函数。
protected Proxy(InvocationHandler h):构造函数,用于给内部的h赋值。
static Class getProxyClass (ClassLoader loader, Class[] interfaces):获得一个代理类,其中loader是类装载器,interfaces是真实类所拥有的全部接口的数组。
static Object newProxyInstance(
相关文档:
由于大家对package的使用存在太多困惑,我在这里将自己对于package的使用的领悟进行一点总结:
package中所存放的文件
所有文件,不过一般分一下就分这三种
1,java程序源文件,扩展名为.java。
2,编译好的java类文件,扩展名为.class。
3,其他文件,其他任何文件,也称为resource
例如图片 ......
这是一些相当不错的忠告!每个规则都很有分量!都是长期经验积累的总结,希望能对您有所帮助,使您编出高质量的JAVA代码。中文JAVA技术网fX
W,c6I/R!_3Bb
中文JAVA技术网6o9yV+M
u+V2Nfr5vm
(1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所
有单词都应紧靠 ......
Listener 是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个 HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:
# ServletContextAttributeListener监听对Servle ......
JAVA内部培训资料
一、JAVA基础培训系列
1.孙鑫JAVA高级软件工程师班培训录像(2DVD)
简介:光盘由孙鑫老师亲自授课录制。循序渐进、通俗易懂、实战性强、内容全面、讲解深刻、问答形式是本套培训录像的特色。学员通过本套光盘的学习,能够快
速掌握Java编程语言,成为Java高手。
2.传智播客 ......
泛型是J2SE 5.0最重要的特性。他们让你写一个type(类或接口)和创建一个实例通过传递一个或多个引用类型。这个实例受限于只能作用于这些类型。
比如,在java 5,java.util.List 已经被泛化。当建立一个list对象时,你通过传递一个java类型建立一个List实例,此list实例只能作用于所传递的类型。这意味着如果你传递一个St ......