java·ºÐÍT.classµÄ»ñÈ¡
ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖƳéÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0];
µ«ÊÇÕâ¸öÏà¶Ô×ÓÀà²Å»áÓÐÓ㬶øÇÒÄÇƪÎÄÕµÄHibernateBaseDao»¹²»ÊÇabstract£¬Èç¹ûÒ»²»Ð¡ÐÄʵÀý»¯µÄ»°¾Í»á±¨Òì³£¡£¸Ð¾õjavaÖÐͨ¹ý·´ÉäÈ¡·ºÐ͵Äclass»¹ÊÇͦ¸´Ôӵģ¬²»¹ýÒ»µ©È¡µ½µÄ»°¾Í¿ÉÒÔ×öºÜ¶àÊÂÇéÁË¡£
¸Ä½øµÄÀý×ӺͲâÊÔ£º
1.Ïȶ¨Òå½Ó¿Ú£¨ÕâÀïдµÄ±È½Ï¼òµ¥¾ÍÒ»¸ö·½·¨£¬¾ßÌå¿ÉÒÔÔÙÔö¼Ó£©
public interface BaseDao<T> {
T get(String id);
}
2.¶¨Òå³éÏóÀàʵÏÖ½Ó¿Ú
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public abstract class HibernateBaseDao<T> implements BaseDao<T> {
private Class<T> entityClass;
/**
* Õâ¸öͨ³£Ò²ÊÇhibernateµÄÈ¡µÃ×ÓÀàclassµÄ·½·¨
*
* @author "yangk"
* @date 2010-4-11 ÏÂÎç01:51:28
*/
public HibernateBaseDao() {
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class) params[0];
}
@Override
public T get(String id) {
try {
return entityClass.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
×ÓÀàµÄ¹¹Ô캯Êý»áµ÷Óø¸ÀàµÄ¹¹Ô캯Êý£¬ËùÒÔµ±×ÓÀàʵÀý»¯µÄʱºò£¬¸¸ÀàµÄentityClass ÒѾµÃµ½ÁËT.class¡£
3.¶¨ÒåÒ»¸öentity
public class Entity {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.¶¨ÒåentityµÄDAO
public class EntityDao extends HibernateBaseDao<Entity> {
public void otherOperation() {
}
}
¿ÉÒÔÔÚÀïÃ涨Ò常ÀàûÓеģ¬Õë¶Ô¾ßÌå×ÓÀàÌØÊâµÄ·½·¨¡£
5.²âÊÔ
import static org.junit.Assert.asser
Ïà¹ØÎĵµ£º
public class Test1 {
public static void main(String[] args) {
//assignment
byte bval1 = 1, bval2 = 2;
short sval1 = 1, sval2 = 2;
int ival1 = 1, ival2 = 2;
long lval1 = 1, lval2 = 2;
float fval1 = 1.0f, fval2 = 2.0f;
double dval1 = 1.0, dval2 = 2.0;
char cval1 = 'a' ......
1 »ù±¾½éÉÜ
¿ÉÒÔ˵CSV¸ñʽµÄÎļþ¾³£Åöµ½£¬ºÎΪCSV¸ñʽ£¬CVSÈ«³Æcomma-separated values£¬¾ÍÊǵäÐ͵ÄÓöººÅ¸ô¿ªµÄÎļþ£¬±ÈÈçÏÂÃæÕâÖÖÎļþ¸ñʽ
Name,company
zhangsan,ibm
lisi,oracle
ÕâÖÖ¾ÍÊǵäÐ͵ÄCSV¸ñʽÎļþ¡£²»¹ýÒ²¿ÉÒÔÀ©Õ¹µ½ÆäËü·ûºÅ¸ô¿ªµÄ×Ö·û£¬±ÈÈç
Name#company
Zhangsan#ibm ......
1. J2EEÊǹ淶£¬ÊÇÒ»ÖÖJSR±ê×¼£¬ÓÐÏêϸÎĵµ£¬²ûÊöJ2EEÌṩÄÄЩ¹¦ÄÜ£¬¿ÉÒÔÏÂÔØÕâÑùÎĵµ£¬µ±È»»¹ÓÐһЩ´úÂë½Ó¿Ú£¬ÕâÊǵäÐÍJavaÊÀ½çÖеĿò¼Ü´úÂë+±ê×¼ÎĵµÐÎʽ£¬ÕâÊÇÖ»ÓÐ×ÔÓÉÊÀ½ç²ÅÓеĹ淶£¬ÔÚ΢ÈíMSÊÀ½çÄãÊǾø¶Ô²»»á¿´µ½µÄ£¬ËùÒÔ£¬´Ó΢Èíת¹ýÀ´µÄ£¬»áÔΣ¬»á²»ÊÊÓ¦£¬²»ÄÜÔÙ°´ÕÕËûÃÇÒÔÇ°µÄ¾ÑéÀ´¿´´ý×ÔÓɵÄÐÂÊÀ½ç¡£
2.¼Ü¹¹ÊǾ ......
ʲôÊÇÐòÁл¯
javaÖеÄÐòÁл¯(serialization)»úÖÆÄܹ»½«Ò»¸öʵÀý¶ÔÏóµÄ״̬ÐÅϢдÈëµ½Ò»¸ö×Ö½ÚÁ÷ÖУ¬Ê¹Æä¿ÉÒÔͨ¹ýsocket½øÐд«Êä¡¢»òÕ߳־û¯´æ´¢µ½Êý¾Ý¿â»òÎļþϵͳÖУ»È»ºóÔÚÐèÒªµÄʱºò£¬¿ÉÒÔ¸ù¾Ý×Ö½ÚÁ÷ÖеÄÐÅÏ¢À´Öع¹Ò»¸öÏàͬµÄ¶ÔÏó¡£ÐòÁл¯»úÖÆÔÚjavaÖÐÓÐ׏㷺µÄÓ¦Óã¬EJB¡¢RMIµÈ¼¼Êõ¶¼ÊÇÒÔ´ËΪ»ù´¡µÄ¡£  ......