´«Ö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
Ïà¹ØÎĵµ£º
ÔÚÃüÁîÐнçÃæÓÃnative2ascii¹¤¾ß
1.½«ºº×ÖתΪUnicode:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii
²âÊÔ
\u6d4b\u8bd5
2.½«Unicodeת»»Îªºº×Ö:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii -reverse ......
ʹÓÃJ2SE API¶ÁÈ¡PropertiesÎļþµÄÁùÖÖ·½·¨
1¡£Ê¹ÓÃjava.util.PropertiesÀàµÄload()·½·¨
ʾÀý£º InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2¡£Ê¹ÓÃjava.util.ResourceBundleÀàµÄgetBundle()·½·¨
ʾÀý£º ResourceBundle rb = Resou ......
·½·¨Ò»£º
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
·½·¨¶þ£º
Map map = n ......
BlockingQueueÊÇÒ»¸ö½Ó¿Ú£¬Ëü´ÓQueue¼Ì³Ð¶øÀ´£¬
°üº¬ÁËQueueµÄËùÓй¦ÄÜ£¬²¢ÔÚQueueµÄ»ù´¡ÉÏÌṩÁË2¸öÐµĹ¦ÄÜ£º
1. ¼ìË÷ÔªËØÊ±µÈ´ý¶ÓÁбäΪ·Ç¿Õ
2. ´æ´¢ÔªËØÊ±µÈ´ý¿Õ¼ä±äµÃ¿ÉÓá£
ÏÂÃæ³Â¼Ò»Ð©JDKÎĵµÖйØÓÚBlockingQueueµÄ½éÉÜ£º
BlockingQueue ¿ÉÒÔÊÇÏÞ¶¨ÈÝÁ¿µÄ¡£ËüÔ ......
ÎÒ½ñÌìԤϰÁ˹¤×÷Á÷µÄ֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
¹¤×÷Á÷£¨Workflow£©
¹¤×÷Á÷¾ÍÊǹ¤×÷Á÷³ÌµÄ¼ÆËã»ú»¯£¬¼´½«¹¤×÷Á÷³ÌÖеŤ×÷ÈçºÎǰºó×éÖ¯ÔÚÒ»ÆðµÄ
Âß¼ºÍ¹æÔòÔÚ¼ÆËã»úÖÐÒÔÇ¡µ±µÄÄ£ÐͽøÐбíʾ²¢¶ÔÆäʵʩ¼ÆËã¡£
¹¤×÷Á÷Òª½â¾öµÄÖ÷ÒªÎÊÌâÊÇ£ºÎªÊµÏÖij¸öÒµÎñÄ¿±ê£¬ÔÚ¶à¸ö²ÎÓëÕßÖ®¼ä£¬ÀûÓüÆ
Ëã»ú£¬°´Ä³ÖÖÔ¤¶¨¹æÔò×Ô¶¯´«µÝÎÄ ......