java¶¯Ì¬´úÀí
¶¨Ò嶯̬´úÀíÀàDynamicProxy
package com.zte.adc.common;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class DynamicProxy implements InvocationHandler {
private Object object;
// °ó¶¨¹Øϵ£¬Ò²¾ÍÊǹØÁªµ½Äĸö½Ó¿Ú£¨Óë¾ßÌåµÄʵÏÖÀà°ó¶¨£©µÄÄÄЩ·½·¨½«±»µ÷ÓÃʱ£¬Ö´ÐÐinvoke·½·¨¡£
// Proxy.newProxyInstanceµÄµÚÈý¸ö²ÎÊýÊDZíÃ÷ÕâЩ±»À¹½ØµÄ·½·¨Ö´ÐÐʱÐèÒªÖ´ÐÐÄĸöInvocationHandlerµÄinvoke·½·¨
public Object bindRelation(Object object) {
this.object = object;
return Proxy.newProxyInstance(object.getClass().getClassLoader(),
object.getClass().getInterfaces(), this);
}
// À¹½Ø¹ØÁªµÄÕâ¸öʵÏÖÀàµÄ·½·¨±»µ÷ÓÃʱ½«±»Ö´ÐУ¬Ö»ÒªÊÇ´úÀíµÄÀàÖ´Ðз½·¨ Ê×ÏȾ¹ýinvoke·½·¨
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
if ("queryForList".equals(method.getName()) && args.length == 4) {
args[2] = (Integer) args[2] - 1;
}
Object result = method.invoke(object, args);
return result;
}
}
»ñµÃ¶¯Ì¬´úÀíµÄ´úÀí¶ÔÏó ×¢Ò⶯̬´úÀí·µ»ØµÄ¶ÔÏó±ØÐëÊDZ»´úÀí¶ÔÏóµÄ½Ó¿Ú
public SqlMapClientTemplate sqlTemplate1 = this.getSqlMapClientTemplate();
public SqlMapClientOperations sqlTemplate=null;//͉˕1
private DynamicProxy dp = new DynamicProxy();
{
sqlTemplate= (SqlMapClientOperations)dp.bindRelation(sqlTemplate1);
}
public BaseSqlMapDao() {
}
Èç¹ûÔÚ “ÕâÀï1”ÖÐÓõIJ»ÊÇSqlMapClientTemplate µÄ½è¿Ú ¶øÊÇÖ±½ÓÓõÄSqlMapClientTemplate ÄÇô
¾Í»áÅ׳öÒì³£
¶¯Ì¬´úÀíµÄÔÀí¾ÍÊÇͨ¹ý¶¯Ì¬´úÀíÀàDynamicProxy Éú³ÉÁËÒ»¸öеĶÔÏó Proxy¶ÔÏó
¸ÃжÔÏó¼Ì³ÐµÄ½Ó¿Ú¾ÍÊÇÔ¶ÔÏóµÄ½Ó¿Ú£¬²úÉúµÄжÔÏó²¢²»ÊÇÔ´¶ÔÏóµÄʵÀý ¶øÊDzúÉúµÄ´úÀí¶ÔÏóµÄʵÀý
Ïà¹ØÎĵµ£º
ÔËÐÐʱ¶à̬ÐÔÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼Æ´úÂëÖØÓõÄÒ»¸ö×îÇ¿´ó»úÖÆ£¬¶¯Ì¬ÐԵĸÅÄîÒ²¿ÉÒÔ±»Ëµ³É“Ò»¸ö½Ó¿Ú£¬¶à¸ö·½·¨”¡£JavaʵÏÖÔËÐÐʱ¶à̬ÐԵĻù´¡ÊǶ¯Ì¬·½·¨µ÷¶È£¬ËüÊÇÒ»ÖÖÔÚÔËÐÐʱ¶ø²»ÊÇÔÚ±àÒëÆÚµ÷ÓÃÖØÔØ·½·¨µÄ»úÖÆ£¬ÏÂÃæ¾Í¼Ì³ÐºÍ½Ó¿ÚʵÏÖÁ½·½Ãæ̸̸javaÔËÐÐʱ¶à̬ÐÔµÄʵÏÖ¡£
¡¡¡¡Ò»¡¢Í¨¹ý ......
java ´úÂë
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList; ......
ÔÚ Java ³ÌÐòÖÐʹÓöàÏß³ÌÒª±ÈÔÚ C »ò C++ ÖÐÈÝÒ׵ö࣬ÕâÊÇÒòΪ Java ±à³ÌÓïÑÔÌṩÁËÓïÑÔ¼¶µÄÖ§³Ö¡£±¾ÎÄͨ¹ý¼òµ¥µÄ±à³ÌʾÀýÀ´ËµÃ÷ Java ³ÌÐòÖеĶàÏß³ÌÊǶàôֱ¹Û¡£¶ÁÍê±¾ÎÄÒÔºó£¬Óû§Ó¦¸ÃÄܹ»±àд¼òµ¥µÄ¶àÏ̳߳ÌÐò¡£
¡¡ Ϊʲô»áÅŶӵȴý?
¡¡¡¡ÏÂÃæµÄÕâ¸ö¼òµ¥µÄ Java ³ÌÐ ......
˵À´Í´¿à£¬¹ØÓÚjava°ü½á¹¹£¬´ò°ü£¬±àÒ룬ÔËÐеÄ֪ʶ£¬ÎÒÊÇѧÁËÍü£¬ÍüÁËѧ¡£ËäÈ»¾ø´ó²¿·Ö¿ª·¢»ùÓÚ¶ÔIDEµÄʹÓ㬲¢ÇÒºÜˬ£¬µ«Ã¿´Î»Ø¹éÃüÁîÐÐģʽʱ£¬ÓÉÓÚȱ·¦¶Ôjava°ü½á¹¹¡¢´ò°ü¡¢±àÒë¡¢ÔËÐÐÏà¹ØµÄ֪ʶ×ܽἰÊìÁ·ÔËÓ㬿Éν´ç²½ÄÑÐÐ
ÍøÉÏËäȻɢ²¼ºÜ¶à¹ØÓÚÕâ·½ÃæµÄÂÛÊö£¬µ«×ܸоõ²»·ûºÏÎÒµÄÇÐÉíʵ¼Ê
¿´À´£¬×Ô¼º¶¯ÊÖ¹éÄÉ×ܽᣠ......