´«ÖDz¥¿Íjavaѧϰ OA»ú¹¹Éè¼Æ
½ñÌìÊÇѧϰoaµÄµÚ¶þÌ죬ѧµÄ֪ʶµã±È½Ï¶à£¬ÎÒ×öÁ˱ʼǣº
Service²ãÉè¼Æ£º
1£¬ÏÈÓÐget(Long)£¬ÒòΪ»¹ÏëÒª»ñÈ¡ÆäËû¶ÔÏ󣨲»ÊÇT£©£¬ËùÒÔÔÙ¶¨ÒåÒ»¸öget(Class, Long)
2£¬ ΪʲôÓÐget(Class, Long)£¬µ«²»¼ÓÉÏÒÔÏÂÁ½¸ö·½·¨ÄØ£¿
<E> E delete(Class<E> clazz, Long id);
<E> List<E> findAll(Class<E> clazz);
¿ÉÒÔ¼ÓÉÏ£¬µ«ÊÇÔÚ³ÌÐòÖÐֻʹÓõ½ÁËget(Class, Long)£¬ËùÒÔ¾ÍÖ»¶¨ÒåÁËget·½·¨¡£
3£¬ÎªÊ²Ã´Ê¹ÓÃLongÐ͵ÄÖ÷¼üÄØ£¿Ò²¿ÉÒÔʹÓÃSerializableÀàÐÍ£¬ÒòΪSession.get()·½·¨¾ÍÊǽÓÊÜÕâ¸öÀàÐÍ¡£
°ü ×ÊÔ´£¨Àà¡¢½Ó¿ÚµÈ£©
cn.itcast.oa.service.daosupport ServiceBase£¨ÔÃûΪDaoBase£©
ServiceImplBase£¨ÔÃûΪDaoBaseImpl£©
cn.itcast.oa.service ServiceµÄ½Ó¿Ú
Cn.itcast.oa.service.impl ServiceµÄʵÏÖÀà
˵Ã÷£º Service½Ó¿Ú¿ÉÒÔͨ¹ý¼Ì³ÐServiceBaseµÃµ½Ôöɾ¸Ä²éµÄ·½·¨ÉùÃ÷¡£ServiceµÄʵÏÖÀà¿ÉÒÔͨ¹ý¼Ì³ÐServiceImplBaseµÃµ½Ôöɾ¸Ä²é·½·¨µÄʵÏÖ¡£Í¨¹ýServiceImplBaseÖеÄgetSession()ÓëgetJbpmContext()·½·¨¿ÉÒÔ·½±ãµÄ»ñµÃSessionÓëJbpmContext¡£
ʹÓ÷´Éä»ñÈ¡ÀàÐͲÎÊýµÄÕæÊµÀàÐ͵ĴúÂëÈçÏ£º
public DaoBaseImpl () {
Type type = this.getClass().getGenericSuperclass();
ParameterizedType pt = (ParameterizedType) type;
this.clazz = (Class<T>) pt.getActualTypeArguments()[0];
}
ÊÂÎñ¹ÜÀí£º
ʹÓùýÂËÆ÷¼Ó ThreadLocal ʵÏÖ
ÒòΪSession¿ÉÒÔͨ¹ýJbpmContext.getSession()»ñµÃ£¬ËùÒÔÖ»Ðè¹ÜÀí JbpmContext¼´¿É£»¹ýÂËÆ÷À¹½Ø*.doµÄÇëÇó¡£
Ò»¸öÇëÇó£¨Ị̈߳©Ê¹ÓÃͬһ¸öJbpmContext Èç¹ûÇëÇóÖÐûÓÐʹÓÃJbpmContext»òSession£¬¾Í²»Òª´´½¨JbpmContext¡£
ÔÚ¹ýÂËÆ÷ÖйرÕJbpmContextʱ£¬Ò²Òªµ÷Óà ThreadLocal.remove()£¬ÒòΪWebÈÝÆ÷ÓÐÏ̳߳أ¬¾ÍÊÇÁ½´ÎÇëÇóÓпÉÄÜÊÇʹÓõÄͬһ¸öÏ̡߳£
JbpmContextFilterÖеÄÏà¹Ø´úÂ룺
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
try {
chain.doFilter(request, respons
Ïà¹ØÎĵµ£º
ÏÂÃæÒÔ±àÒë /src/com/dream/io/ScannerTest.javaΪʾÀý£º
1¡¢ÓÃjavac±àÒë.javaÎļþʱ£¬½øÈësrcĿ¼ºó£¬ÊäÈë javac com/dream/io/ScannerTest.java£¬ »Ø³µ£¬¼´¿É±àÒëScannerTest.javaÎļþΪ.classÎļþ£»Ò²¿É£¬½øÈë /src/com/dream/io/ Ŀ¼ºó£¬ ÊäÈë javac ScannerTest.java£¬ »Ø³µ£¬Ò²¿É±àÒë ScannerTest.javaÎļþΪ .clas ......
¡¡ÕâÊÇclone¼¼Êõ½éÉܵĵÚһƪ¡£±¾ÆªÖ÷Òª½éÉܶÔÏóclone¼¼ÊõµÄ»ù±¾ÖªÊ¶¡£
Clone»ù±¾ÖªÊ¶´¢±¸
ÔÚJavaÀïÌáµ½clone¼¼Êõ£¬¾Í²»Äܲ»Ìájava.lang.Cloneable½Ó¿ÚºÍº¬ÓÐclone·½·¨µÄObjectÀà¡£ËùÓоßÓÐclone¹¦ÄܵÄÀà¶¼ÓÐÒ»¸öÌØÐÔ£¬ÄǾÍÊÇËüÖ±½Ó»ò¼ä½ÓµØÊµÏÖÁËCloneable½Ó¿Ú¡£·ñÔò£¬ÎÒÃÇÔÚ³¢ÊÔµ÷ÓÃclone£¨£©·½·¨Ê±£¬½«»á´¥·¢CloneNo ......
ÎÒ½ñÌìѧϰÁËÐìÀÏʦ½«µÄhibernate¿ò¼Ü֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
¼¯ºÏÊôÐÔ´óÖ·ÖΪ¶þÖÖ£º
µ¥´¿µÄ¼¯ºÏÊôÐÔ£¬ÏñList,Set»òÊý×éµÈ¼¯ºÏÊôÐÔ¡£
2,Map¼¯ºÏÊôÐÔ£¬Ã¿¸öÊôÐÔÖµ¶àÓÐÏà¶ÔÓ¦µÄKeyÓ³Éä¡£
&nb ......
½ñÌìÎÒѧϰÁËÐìÀÏʦ½²µÄHiberbate»º´æÖªÊ¶£¬ÎÒÉÏ¿Î×öÁ˼òµ¥µÄ±Ê¼Ç£º
»º´æÀàÐÍ
Ò».ÊÂÎñ·¶Î§:λÓÚµ±Ç°¹¤×÷µ¥Ôª,²»Äܲ¢·¢·ÃÎÊ
¶þ.½ø³Ì·¶Î§:¶à¸ö¹¤×÷µ¥Ôª¹²Ïí,¿É²¢·¢·ÃÎÊ,¿É´æ´¢ÊµÀý±¾ÉíÒ²¿É´æÉ¢ÁÐÊý¾Ý,È»ºóÔÚ
& ......
ÎÒ½ñÌìѧϰÁËjbpmµÄ֪ʶ£ºÎÒ×öÁ˼òµ¥µÄÕªÒª£º
Á÷³ÌͼÖеĸ÷ÖÖ½ÚµãµÄ×÷Óü°Ó÷¨£º
ÐèÒªÓв»Í¬ÀàÐÍ£¨×÷Ó㩵Ľڵ㣬²ÅÄÜÉè¼Æ³ö¸´ÔÓµÄÁ÷³Ìͼ¡£JbpmÓÐÒ»Ì×Ô¤Ïȶ¨ÒåºÃµÄ½ÚµãÀàÐÍ¡£Èç¹û²»¹»Óã¬Ò²¿ÉÒÔʹÓÃ×Ô¶¨Òå½Úµã½øÐÐÀ©Õ¹£¬ÒÔÍê³É²»Í¬µÄÁ÷³ÌµÄÐèÒª¡£²»Í¬µÄ½ÚµãÀàÐÍ´ú±í²»Í¬µÄÐÐΪ¡£
ÿ¸öÁ÷³Ì¶¼±ØÐëÒªÓп ......