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!
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
1.ÉùÃ÷Ò»¸ömap: Map map = new HashMap();
2.ÏòmapÖзÅÖµ,×¢Ò⣺mapÊÇkey-valueµÄÐÎʽ´æ·ÅµÄ.Èç:
map.put("sa","dd");
3.´ÓmapÖÐȡֵ:String str = map.get("sa").toString();½á¹ûÊÇ:str = "dd";
4.±éÀúÒ»¸ömap£¬´ÓÖÐÈ¡µÃkey ºÍvalue
JDK1.5
Map m = new HashMap();
for ( ......
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class ConvertMapToList {
/**
* ʵÏÖ½«HashMapת»»³ÉΪArrayList£¬²¢½«mapµÄKey ¡¢Value·Ö± ......
1. Ê×ÏÈString²»ÊôÓÚ8ÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬StringÊÇÒ»¸ö¶ÔÏó¡£
¡¡¡¡ÒòΪ¶ÔÏóµÄĬÈÏÖµÊÇnull£¬ËùÒÔStringµÄĬÈÏÖµÒ²ÊÇnull£»µ«ËüÓÖÊÇÒ»ÖÖÌØÊâµÄ¶ÔÏó£¬ÓÐÆäËü¶ÔÏóûÓеÄÒ»Ð©ÌØÐÔ¡£
¡¡¡¡2. new String()ºÍnew String(“”)¶¼ÊÇÉêÃ÷Ò»¸öеĿÕ×Ö·û´®£¬Êǿմ®²»ÊÇnull£»
¡¡¡¡3. String str=”kvill”£»
......
JavaÖÐÁ¬½ÓÊý¾ÝµÄHibernate
ÅäÖÃ
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.s ......