ProxyģʽÒÔ¼°java¶¯Ì¬´úÀíʵÏÖ
Ò». Proxyģʽ¶¨Òå:
ΪÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖÆÕâ¸ö¶ÔÏóµÄ·ÃÎÊ.
¶þ.ģʽ½â˵
Proxy´úÀíģʽÊÇÒ»ÖֽṹÐÍÉè¼ÆÄ£Ê½,Ö÷Òª½â¾öµÄÎÊÌâÊÇ:ÔÚÖ±½Ó·ÃÎʶÔÏóʱ´øÀ´µÄÎÊÌâ,±ÈÈç˵:Òª·ÃÎʵĶÔÏóÔÚÔ¶³ÌµÄ»úÆ÷ÉÏ.
ÔÚÃæÏò¶ÔÏóϵͳÖÐ,ÓÐЩ¶ÔÏóÓÉÓÚijЩÔÒò(±ÈÈç¶ÔÏó´´½¨¿ªÏúºÜ´ó,»òÕßijЩ²Ù×÷ÐèÒª°²È«¿ØÖÆ,»òÕßÐèÒª½ø³ÌÍâµÄ·ÃÎÊ),
Ö±½Ó·ÃÎÊ»á¸øÊ¹ÓÃÕß»òÕßϵͳ½á¹¹´øÀ´ºÜ¶àÂé·³,ÎÒÃÇ¿ÉÒÔÔÚ·ÃÎʴ˶ÔÏóʱ¼ÓÉÏÒ»¸ö¶Ô´Ë¶ÔÏóµÄ·ÃÎʲã,Õâ¸ö·ÃÎʲãÒ²½Ð´úÀí¡£
ProxyģʽÊÇ×î³£¼ûµÄģʽ,ÔÚÎÒÃÇÉú»îÖд¦´¦¿É¼û,±ÈÈçÏÖÔÚÓиöʲô¸ç,ÌØ±ðµÄ»ð,µ«ÊÇÐÔ±ðÒ»°ãÈË¿´²»³öÀ´,ÄãÈ¥ÎÊ"Ëû",È˼ÒÊÇ
´óÍó,²»ºÍÄãÖ±½Ó¶Ô»°,Ö»Óо¼ÍÈ˳öÃæ,Õâ¸ö¾¼ÍÈ˾ͿÉÒÔ¿´³ÉËûµÄ´úÀí.
Èý.½á¹¹Í¼
´«Í³µÄ½á¹¹Í¼ÈçÏÂ:
java¶¯Ì¬´úÀí½á¹¹Í¼ÈçÏÂ:
ËÄ.ʵÏÖ:
public interface Person {
public void ownSex();
public String isBoolean(String str);
}
public class SpringBrother implements Person {
public void ownSex() {
System.out.println("Female!");
}
public String isBoolean(String str) {
return "yes!";
}
}
public class MyInvocationHandler implements InvocationHandler {
private Object proxied = null; //±»´úÀíµÄ¶ÔÏó.
public MyInvocationHandler(Object proxied){
this.proxied = proxied;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
System.out.println("---------- proxy: ----------\n" + proxy.getClass()
+ "\nmethod: " + method + "\nargs: " + args);
Object oo = method.invoke(proxied, args);// ·ÃÎʵײ㷽·¨,ÕâÀïÊÇmain·½·¨ÖеÄownSex»òÕßisBoolean,·µ»Ø·µ»ØÖµ
if(args!=null && args.length!=0){
for(Object o : args){
System.out.println(o);
}
}
if(!(oo==null)){
System.out.println(oo);
}
return null;
}
public static void main(String[] args) {
Person person = (Person)Proxy.newProxyInstance(MyInvocationHandler.class.getClassLoader(),
new Class[]{Person.class}, new MyInvocationHandler(new SpringBrother()));
person.ownSex();
person.isBoolean("is Female!
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
1. Ê×ÏÈString²»ÊôÓÚ8ÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬StringÊÇÒ»¸ö¶ÔÏó¡£
¡¡¡¡ÒòΪ¶ÔÏóµÄĬÈÏÖµÊÇnull£¬ËùÒÔStringµÄĬÈÏÖµÒ²ÊÇnull£»µ«ËüÓÖÊÇÒ»ÖÖÌØÊâµÄ¶ÔÏó£¬ÓÐÆäËü¶ÔÏóûÓеÄÒ»Ð©ÌØÐÔ¡£
¡¡¡¡2. new String()ºÍnew String(“”)¶¼ÊÇÉêÃ÷Ò»¸öеĿÕ×Ö·û´®£¬Êǿմ®²»ÊÇnull£»
¡¡¡¡3. String str=”kvill”£»
......
¸÷Èí¼þʹÓð汾
£º
Tomcat
°æ±¾£º
apache-tomcat-5.5.17
Jdk
°æ±¾£º
jdk1.6.0_11
Mysql
°æ±¾£º
mysql-5.0.77-win32
1.
jdk
°²×°
н¨ÏµÍ³±äÁ¿
JAVA_HOME
£º
C:\Program Files\Java\jdk1.6.0_11
×¢Ò⣺½¨¹ýÖ®ºó¿ÉÒÔÊÔһϣ¬·ñÔ ......
class NewTask extends java.util.TimerTask{
private String HOUR_MASK = "0";
private String MIN_MASK = "0";
private String SEC_MASK = "0";
private int hour;
private int min ......