ÔÚJavaÖÐÀûÓÃcglibʵÏÖ´úÀí
ÔÚÉÏһƪÎÄÕ¡¶ÔÚJavaÖÐÀûÓö¯Ì¬´úÀíʵÏÖÊý¾Ý¿âÁ¬½ÓÓëÊÂÎñµÄ×Ô¶¯¹ÜÀí¡·½²ÊöÁËÈçºÎʹÓÃJava¶¯Ì¬´úÀí£¬µ«ÒªÇó±»´úÀí¶ÔÏóҪʵÏÖÒ»¸ö½Ó¿Ú£¬Èç¹û²»ÏëʵÏÖ½Ó¿ÚÔõô°ìÄØ£¿Ê¹ÓÿªÔ´µÄcglib¿ÉÒÔʵÏÖ¶ÔÒ»¸öÀà¶ÔÏóµÄ´úÀí£¬¶ø²»ÒªÇóʵÏÖ½Ó¿Ú¡£
cglib£¨Code Generation Library£©Äܹ»ÔÚ³ÌÐòÔËÐеÄʱºò¶¯Ì¬Éú³É½Ó¿ÚµÄʵÏÖÀàºÍ¼Ì³ÐÓÚij¸öÀàµÄ×ÓÀ࣬ËüÊÇÒÀÀµÓÚASMµÄ£¬¶øASM¿ÉÒÔÁé»îµÄ²Ù×÷×Ö½ÚÂë¡£ÔÚhttp://cglib.sourceforge.net/¿ÉÒÔÏÂÔØcglib.jar£¬±¾ÎÄÑ¡ÔñµÄÊÇcglib-nodep-2.2.jar£¬ÕâÊÇÒ»¸ö²»ÒÀÀµÆäËûjarµÄÎļþ¡£Èç¹ûÑ¡Ôñcglib-2.2.jar£¬»¹ÐèÒª¼ÓÈ뼸¸öÒÀÀµµÄjar°ü²ÅÐУ¬ÔÚhttp://cglib.sourceforge.net/dependencies.htmlÁгöÀ´ÁËËùÐèÒªµÄjarÎļþ¡£
ÔÚ¡¶ÔÚJavaÖÐÀûÓö¯Ì¬´úÀíʵÏÖÊý¾Ý¿âÁ¬½ÓÓëÊÂÎñµÄ×Ô¶¯¹ÜÀí¡·µÄ»ù´¡ÉÏ£¬ÎÒÃǼÌÐøÍêÉÆ¿ò¼Ü£¬Ê¹Ò»¸öûÓÐʵÏÖ½Ó¿ÚµÄÆÕͨÀàÒ²¿ÉÒÔÒÔ×¢½âµÄ·½Ê½À´×Ô¶¯¿ª´òÊý¾Ý¿âÁ¬½ÓºÍÊÂÎñ£¬µ±È»ÊÇͨ¹ýcglibÀ´ÊµÏֵġ£
Ê×ÏȽ¨Á¢·½·¨µÄÀ¹½ØÆ÷Àà¡£´úÂëÈçÏ£º
package demo.dynamicproxy;
import java.lang.reflect.Method;
import java.sql.Connection;
import demo.dynamicproxy.annotation.Transactional;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
public class CglibProxy implements MethodInterceptor {
private Object target;
private IDb db;
public CglibProxy(Object target) {
this.target = target;
this.db = (IDb) target;
}
@Override
public Object intercept(Object obj, Method method, Object[] args,
MethodProxy methodProxy) throws Throwable {
 
Ïà¹ØÎĵµ£º
ÏÂÃæÊdz£Óô¦ÀíÈÕÆÚµÄ·½·¨£¬Ï£Íû¶Ô´ó¼ÒÓÐÓã¡
ÔÚÎÒ ......
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http:/ ......
Ò».javaÀà
package com.java.test;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class JavaReadXml {
// Document¿ÉÒÔ¿´×÷ÊÇXMLÔÚÄÚ´æÖеÄÒ»¸ ......
²»Öª²»¾õ×öÈí¼þÒѾ×öÁËÊ®Ä꣬Óгɹ¦µÄϲÔã¬Ò²ÓÐʧ°ÜµÄÍ´¿à£¬µ«×ܲ»¸Ò³Æ×Ô¼ºÊǸßÊÖ£¬ÒòΪºÍÎÒÐÄÄ¿ÖÐÕæÕýµÄ¸ßÊÖÃÇ±ÈÆðÀ´£¬»¹²îµÄ̫Զ¡£ÊÀ½çÉϲ¢Ã»ÓгÉΪ¸ßÊֵĽݾ¶£¬µ«Ò»Ð©»ù±¾ÔÔòÊÇ¿ÉÒÔ×ñѵġ£
¡¡¡¡1. ÔúʵµÄ»ù´¡¡£Êý¾Ý½á¹¹¡¢ÀëÉ¢Êýѧ¡¢±àÒëÔÀí£¬ÕâЩÊÇËùÓмÆËã»ú¿ÆÑ§µÄ»ù´¡£¬Èç¹û²»ÕÆÎÕËûÃÇ£¬ºÜÄÑд³ö¸ßˮƽµÄ ......
public class Path {
//get class absolute address
public String getPath() {
String classPath = getClass().getName();
if (classPath.indexOf(".") != -1) {
classPath = classPath.substring(classPath.lastIndexOf(".") + 1,
......