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úÉúµÄ´úÀí¶ÔÏóµÄʵÀý
Ïà¹ØÎĵµ£º
package com.allywll.core.exec.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent. ......
ÔÚÏÖʵ¹¤×÷ÖУ¬ÎÒÃdz£³£ÐèÒª±£´æÒ»Ð©ÏµÍ³ÅäÖÃÐÅÏ¢£¬´ó¼ÒÒ»°ã¶¼»áÑ¡ÔñÅäÖÃÎļþÀ´Íê³É£¬±¾Îĸù¾Ý±ÊÕß¹¤×÷ÖÐÓõ½µÄ¶ÁÈ¡ÅäÖÃÎļþµÄ·½·¨Ð¡Ð¡×ܽáһϣ¬Ö÷ÒªÐðÊöµÄÊÇspring¶ÁÈ¡ÅäÖÃÎļþµÄ·½·¨¡£
Ò».¶ÁÈ¡xmlÅäÖÃÎļþ
(Ò»)н¨Ò»¸öjava bean(HelloBean.java)
java ´úÂë
1. package chb.demo.vo;
2. ......
²»¹ÜÄãÊÇÐÂÊÖ»¹ÊÇÀÏÄñ£¬ÔÚ³ÌÐòÖжÁÈ¡×ÊÔ´Îļþ×Ü»áÓöµ½Ò»Ð©ÕÒ²»µ½ÎļþµÄÎÊÌ⣬ÕâÓëJavaµ×²ãµÄʵÏÖÓйأ¬²»ÄÜËãbug£¬Ö»Òª·½·¨µÃµ±£¬ÎÊÌ⻹ÊÇ¿ÉÒÔ½â¾öµÄ¡£
ÏîÄ¿µÄÎļþ¼Ð½á¹¹£º
repathtest
©À©¤src
©¦ ©¸©¤com
©¦ &nb ......
½ñÌì¿´ÁËһλǰ±²µÄÎÄÕÂhttp://blog.csdn.net/psyl/archive/2010/01/24/5250562.aspx
µÚÒ»Ìâ¾Í²»»á¡£°¥£¬Ôΰ¡¡£»ù´¡Ì«²î£¬ÐèÒª¼ÓÇ¿¡£
GoogleÁËһϠhttp://www.ibm.com/developerworks/cn/java/l-javaassertion/index.html ÕâÆªÎÄÕ½éÉÜassertion,¸Ð¾õ²»´í£¬×ªÏµØÖ·¡£
SpringÒ²ÌṩÁ˶ÏÑԵŦÄÜ
org.springframew ......
˵À´Í´¿à£¬¹ØÓÚjava°ü½á¹¹£¬´ò°ü£¬±àÒ룬ÔËÐеÄ֪ʶ£¬ÎÒÊÇѧÁËÍü£¬ÍüÁËѧ¡£ËäÈ»¾ø´ó²¿·Ö¿ª·¢»ùÓÚ¶ÔIDEµÄʹÓ㬲¢ÇÒºÜˬ£¬µ«Ã¿´Î»Ø¹éÃüÁîÐÐģʽʱ£¬ÓÉÓÚȱ·¦¶Ôjava°ü½á¹¹¡¢´ò°ü¡¢±àÒë¡¢ÔËÐÐÏà¹ØµÄ֪ʶ×ܽἰÊìÁ·ÔËÓ㬿Éν´ç²½ÄÑÐÐ
ÍøÉÏËäȻɢ²¼ºÜ¶à¹ØÓÚÕâ·½ÃæµÄÂÛÊö£¬µ«×ܸоõ²»·ûºÏÎÒµÄÇÐÉíʵ¼Ê
¿´À´£¬×Ô¼º¶¯ÊÖ¹éÄÉ×ܽᣠ......