ÔÚ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 {
 
Ïà¹ØÎĵµ£º
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·¾¶µÄ·½·¨£º
×¢Ã÷£ºÈç¹û´ÓANTÆô¶¯³ÌÐò£¬this.getClass().getResource("")È¡³öÀ´µÄ±È½Ï¹Ö£¬Ö±½ÓÓÃJAVAÃüÁîÐе÷ÊԾͿɳɹ¦¡£
µÃµ½classpathºÍµ±Ç°ÀàµÄ¾ø¶Ô·¾¶µÄһЩ·½·¨
»ñµÃCLASSPATHÖ®Íâ·¾¶µÄ·½·¨£º
URL base = this.getClass£¨£©.getResource£¨""£©£» //ÏÈ»ñµÃ±¾ÀàµÄËùÔÚλÖã¬Èç/home/popeye/ ......
public class Path {
//get class absolute address
public String getPath() {
String classPath = getClass().getName();
if (classPath.indexOf(".") != -1) {
classPath = classPath.substring(classPath.lastIndexOf(".") + 1,
......
1 Ïà¹ØÖªÊ¶½éÉÜ
1.1 SMB
MicrosoftÍøÂçÅäÖÃÖÐÖ÷Òª²ÉÓÃSMBÐÎʽʵÏÖÎļþ¹²ÏíºÍ´òÓ¡·þÎñ£¬SMB£¨·þÎñÆ÷ÏûÏ¢¿é£©ÊÇÒ»ÖÖ¿Í»§¶Ë/·þÎñÆ÷Îļþ¹²ÏíÐÒé¡£IBMÓÚ20ÊÀ¼Í80Äê´úÄ©ÆÚ¿ª·¢ÁË·þÎñÆ÷ÐÅÏ¢¿é£¨SMB£©£¬ÓÃÓڹ淶¹²ÏíÍøÂç×ÊÔ´£¨ÈçĿ¼¡¢Îļþ¡¢´òÓ¡»úÒÔ¼°´®Ðж˿ڣ©µÄ½á¹¹¡£ÕâÊÇÒ»ÖÖÇëÇó/ÏìÓ¦ÐÒé¡£ÓëFT ......
ת×Ôwww.bitsCN.com
ÕªÒª£º±¾ÎÄ´ÓJavaÒì³£×î»ù±¾µÄ¸ÅÄî¡¢Óï·¨¿ªÊ¼½²ÊöÁËJavaÒì³£´¦ÀíµÄ»ù±¾ÖªÊ¶£¬·ÖÎöÁËJavaÒì³£Ìåϵ½á¹¹£¬¶Ô±ÈSpringµÄÒì³£´¦Àí¿ò
¼Ü£¬²ûÊöÁËÒì³£´¦ÀíµÄ»ù±¾ÔÔò¡£²¢ÇÒ×÷ÕßÌá³öÁË×Ô¼º´¦ÀíÒ»¸ö´óÐÍÓ¦ÓÃϵͳÒì³£µÄ˼Ï룬²¢Í¨¹ýÉè¼ÆÒ»¸öÒì³£´¦ÀíµÄ¿ò¼ÜÀ´ÂÛÊö´Ë˼Ïë¡£
Ò»¡¢ Òì³£µÄ¸ÅÄîº ......