Õ¾ÄÚËÑË÷: ÇëÊäÈëËÑË÷¹Ø¼ü´Ê

µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú JavaÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜµÄ±È½ÏÓëÑ¡Ôñ

JavaÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜµÄ±È½ÏÓëÑ¡Ôñ

ÕªÒª: Ä¿Ç°Á÷ÐеÄJavaÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜÖÖÀà·±¶à£¬ÎªÁËʹ¿ª·¢ÈËÔ±ÕýÈ·Ñ¡Ôñϵͳ¼Ü¹¹´Ó¶øÌá¸ßJavaÆóÒµÓ¦ÓõĿª·¢Ð§ÂÊ
¡¡¡¡Õª Òª Ä¿Ç°Á÷ÐеÄJavaÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜÖÖÀà·±¶à£¬ÎªÁËʹ¿ª·¢ÈËÔ±ÕýÈ·Ñ¡Ôñϵͳ¼Ü¹¹´Ó¶øÌá¸ßJavaÆóÒµÓ¦ÓõĿª·¢Ð§ÂÊ£¬Ê×ÏÈÕë¶Ô»ùÓÚEJBºÍ»ùÓÚPOJOsµÄ½ÏΪÁ÷Ðеļ¸ÖÖ¿ò¼Ü·Ö±ð½øÐÐÁ˸ÅÊö£¬È»ºó¶ÔÕâЩ¿ò¼Ü´Ó±íÏֲ㡢ҵÎñÂß¼­²ãºÍ³Ö¾Ã²ãµÄʵÏÖϸ½Ú½øÐÐÁ˶Աȣ¬×ܽáÁËJavaÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜÑ¡ÔñÐèÒª²àÖØ¿¼ÂÇÒòËØ£¬µÃµ½ÁË»ùÓÚEJBµÄ¿ò¼ÜºÍ»ùÓÚPOJOsµÄ¿ò¼Ü·Ö±ðÊÊÓõķ¶Î§¡£

¡¡¡¡¹Ø¼ü´Ê JavaÆóÒµÓ¦ÓÃϵͳ¿ò¼Ü£»EJB3.0£»Spring£»Hibernate

¡¡¡¡ÒýÑÔ

¡¡¡¡EJBµÄÌåϵ½á¹¹ÊÇJ2EEµÄ»ù´¡ºÍºËÐÄ£¬J2EE¶¨ÒåÁËÕû¸ö±ê×¼µÄÓ¦Óÿª·¢Ìåϵ½á¹¹ºÍÒ»¸ö²¿Êð»·¾³£¬»ùÓÚEJBµÄ¿ò¼ÜÒ»¶È³ÉΪÈËÃÇ¿ª·¢JavaÆóÒµÓ¦ÓõÄÊ×Ñ¡¡£Ëæ×ÅJava¿ªÔ´ÏîÄ¿ÕóÓªµÄ·¢Õ¹×³´ó£¬ һЩ»ùÓÚPOJOs(Plan Old Java Objects)µÄ¿ªÔ´¿ò¼Ü±»Ô½À´Ô½¹ã·ºµØÒýÈëµ½JavaÆóÒµÓ¦ÓõĿª·¢ÖÐÀ´¡£¸ù¾Ý¸´Ôӳ̶ÈÈËÃÇÏ°¹ß°ÑÇ°Õß³ÆΪÖØÁ¿¼¶¿ò¼Ü£¬°ÑºóÕß³ÆΪÇáÁ¿¼¶¿ò¼Ü¡£JavaÆóÒµÓ¦Óÿò¼ÜÒ»°ã±»»®·ÖΪÈý¸ö²ã´Î£º±íÏֲ㡢ҵÎñÂß¼­×é¼þ²ãºÍ³Ö¾Ã²ã¡£±¾ÎÄÖ÷Òª¶ÔÄ¿Ç°ÆóÒµÓ¦ÓöÔÓ¦ÓÚÕâÈý¸ö²ã´ÎµÄÁ½ÖÖÀàÐ͵ÄÁ÷Ðпò¼Ü½øÐÐÁËϸ½Ú±È½Ï£¬×îºóÕë¶ÔJavaÆóÒµÓ¦ÓõÄϵͳ¿ò¼ÜÑ¡ÔñÌá³ö×÷ÕߵĹ۵㡣

¡¡¡¡Á½ÖÖÀàÐÍ¿ò¼Ü¸ÅÊö

¡¡¡¡1¡¢»ùÓÚEJBµÄÖØÁ¿¼¶¿ò¼Ü

¡¡¡¡ÓÉÓÚ EJBÈÝÆ÷Äܹ»ºÜºÃµÄ´¦ÀíϵͳÐÔÄÜ¡¢ÊÂÎñ»úÖÆ¡¢°²È«·ÃÎÊȨÏÞÒÔ¼°·Ö²¼Ê½ÔËËãµÈÎÊÌ⣬»ùÓÚEJB¿ò¼Ü½øÐпª·¢Äܱ£Ö¤ÆóÒµÓ¦ÓÃƽ»¬·¢Õ¹£¬¶ø²»ÊÇ·¢Õ¹µ½Ò»ÖÖ¹æÄ£¾ÍÖØиü»»Ò»Ì×Èí¼þϵͳ£¬ÇÒ¿ÉÒÔ±£Ö¤¿ª·¢ÈËÔ±½«´ó²¿·Ý¾«Á¦¼¯ÖÐÔÚÒµÎñÂß¼­µÄ¿ª·¢ÉÏ¡£²ÉÓÃEJB¿ò¼Ü¿ª·¢µÄÆóÒµÓ¦ÓþßÓбØÐë¼Ì³Ð»òÒÀÀµEJBÈÝÆ÷µÄÌص㡣EJB³ä·Ö¿¼Âǵ½Á˶¥¼¶´óÐÍÏîÄ¿µÄÐèÇó£¬Ê¹ÓÃËü¼¸ºõÄܽâ¾öÆóÒµ¼¶Ó¦ÓÃÉæ¼°µ½µÄËùÓÐÎÊÌ⣬ÏàÓ¦µÄ»ùÓÚEJB¿ò¼ÜÒ²ÊÇÒ»¸ö¹¦Äܸ´ÔÓµÄÖØÁ¿¼¶¿ò¼Ü¡£

¡¡¡¡J2EE1.4±ê×¼¹æ¶¨µÄEJB 2.1¿ò¼ÜȱÉÙÉè¼ÆÇÒʵÏÖÆðÀ´ÓÐЩ¹ýÓÚ¸´ÔÓ¡£µ±Ç°J2EE5.0µÄй淶Ìá³öµÄEJB 3.0µÄÄ¿±ê¾ÍÊǼò»¯¿ª·¢[1]£¬½è¼øÁËһЩ»ùÓÚPOJOµÄ˼Ï룬ËüÏà¶ÔÓÚEJB2.1ÖÐÁ½¸öÖØÒªµÄ±ä»¯·Ö±ðÊÇ£ºÒ»ÊÇʹÓÃÁËJava5ÖеijÌÐò×¢Ê͹¤¾ß£¬×¢ÊÍÈ¡´úÁ˹ý¶àµÄXMLÅäÖÃÎļþ²¢ÇÒÏû³ýÁËÑϸñ×é¼þÄ£ÐÍÐèÇ󣻶þÊDzÉÓÃÁË»ùÓÚHibernateºÍTopLink˼ÏëµÄO/R MappingÄ£ÐÍ¡£

¡¡¡¡J2EE5.0µÄй淶Öж¨ÒåÆóÒµÓ¦ÓÃÈý¸ö²ã´ÎµÄ±ê׼ʵÏÖΪ£º±íÏÖ²ã²ÉÓÃJSF£¨Java Server Face£©£¬JSFµÄ¿ª·¢Á÷³ÌµÄºËÐÄÊÇʼþÇý¶¯£¬×é¼þºÍ±êÇ©µÄ·â×°³Ì¶È·Ç³£¸ß£¬ºÜ¶àµäÐÍÓ¦ÓÃÒѾ­²»ÐèÒª¿ª·¢ÕßÈ¥´¦Àíhttp¡£Õû¸ö¹ý³ÌÊÇͨ¹ýIoC(ÒÀÀµ×¢Èë)[2]À´ÊµÏÖµ Ä£»ÒµÎñ×é¼þ²ã²ÉÓÃEJB3.0µÄSession Bean¡£EJB3.0ÔÊÐí¿ª·¢ÕßʹÓÃźºÏËÉÉ¢µÄ×é¼þÀ´¿ª·¢Ó¦Óá£ÕâЩ×é¼þͨ¹ý×Ô¼º·¢²¼µÄÉÌÒµ½Ó¿ÚÀ´ñîºÏ£¬²»±ØÏñEJB 2.1¹æ·¶¶¨ÒåµÄÄÇÑùÒ»¸öBean±ØÐë×ñÊصÄÑϸñµÄ×é¼þÄ£ÐÍ£¬Ã¿Ò»¸öEJBÀà±ØÐë´ÓijһÖÖ³éÏóÀàÖм̳У¬²¢ÎªÈÝÆ÷ÌṩÁ˻ص÷µÄ¹³×Ó£»³Ö¾Ã²ã²ÉÓÃEJB3.0ʵÌåBean³Ö¾Ã»¯Ä£ÐÍ£¬ÎüÊÕÁËHibernateµÄһЩ˼Ïë²ÉÓÃO/R Mappingģʽ£¬ EJBQLÒ²ÓÐÐí¶àÖØÒªµÄ¸Ä±ä¡£

¡¡¡¡2¡¢»ùÓÚPOJOsµÄÇáÁ¿¼¶¿ò¼Ü

¡¡¡¡ÔÚ»ùÓÚPOJOsÇáÁ¿¼¶¿ò¼ÜÉÏ¿ª·¢µÄÓ¦ÓóÌÐòÎÞÐèÒÀÀµÓÚEJBÈÝÆ÷¿É¶ÀÁ¢ÔËÐУ¬¶ÔÓ¦ÓÚJavaÆóÒµÓ¦ÓÃÈý¸ö²ã´ÎµÄÇáÁ¿¼¶¿ò¼Ü¼¼Êõ·Ö±ð¶¼µÃµ½ÁËÒ»¶¨µÄ·¢Õ¹£¬ÕâÈý¸ö²ã´ÎÁ÷ÐеĿò¼ÜÈçÏ£º

¡¡¡¡Ä¿Ç°±È½ÏÁ÷ÐеĿªÔ´±íÏÖ²ã¿ò¼ÜÖ÷ÒªÓÐStrutsºÍTapestry¡£TapestryÓëStrutsÓ¦Óÿò¼Ü²»Í¬µÄÊÇ£¬ËüÊÇ»ùÓÚ×é¼þ£¬¶ø²»ÊÇÃæÏò½Å±¾ÓïÑÔ£¨±ÈÈçJSPºÍVelocity£©µÄ£¬×é¼þÊÇÓÉÒ»¸ö¶¨ÒåÎļþ(ÒÔXMLµÄ¸ñʽ)¡¢Ò»¸öHTMLÄ£°å¡¢Ò»¸öJAVAÀ๹³ÉµÄ£»ÒµÎñ×é¼þ²ãÇáÁ¿¼¶½â¾ö·½°¸Ò²²»ÉÙ£¬°üÀ¨Spring¡¢HivemindµÈ¡£µ«ÊÇĿǰʹÓÃ×îΪ¹ã·ºµÄ»¹ÊÇSpring¿ò¼Ü£¬Spring¿ò¼ÜÊÇÒ»¸ö»ùÓÚIoCºÍAOP£¨ÃæÏò·½Ãæ±à³Ì£©[3]µÄ¹¹¼Ü¡£²ÉÓÃIoCʹµÃËü¿ÉÒÔºÜÈÝÒ×µÄʵÏÖbeanµÄ×°Å䣬ÌṩÁ˼ò½àµÄAOP²¢¾Ý´ËʵÏÖÊÂÎñ¹ÜÀíµÈ£¬µ«ÊÇËü²»¾ß±¸´¦ÀíÓ¦Ó÷ֲ¼Ê½µÄÄÜÁ¦¡£Spring µÄºËÐÄÒªµãÊÇ£ºÖ§³Ö²»°ó¶¨µ½Ìض¨ J2EE ·þÎñµÄ¿ÉÖØÓÃÒµÎñºÍÊý¾Ý·ÃÎʶÔÏó¡£ÕâÑùµÄ¶ÔÏó¿ÉÒÔÔÚ²»Í¬ J2EE »·¾³ £¨Web »ò EJB£©¡¢¶ÀÁ¢Ó¦ÓóÌÐò¡¢²âÊÔ»·¾³Ö®¼äÖØÓ㻳־òã¿òÖ÷ÒªÓÐHibernateºÍ¸÷ÖÖJDO²úÆ·£¬ÒÔ¼°iBATIS¡£HibernateÊÇÒ»¸ö¿ªÔ´µÄO/R Mapping¿ò¼Ü£¬Ëü¶ÔJDBC½øÐÐÁ˷dz£ÇáÁ¿¼¶µÄ¶ÔÏó·â×°£¬¿ÉÒÔÓ¦ÓÃÔÚÈκÎʹÓÃJDBCµÄ³¡ºÏ£¬¿ÉÒÔÔÚÓ¦ÓÃEJBµÄJ2EE¿ò¼ÜÖÐÈ¡´úCMP£¬Íê³ÉÊý¾Ý³Ö¾Ã»¯µÄÖØÈΡ£iBATISÊÇÒ»¸ö¼òÒ×µÄSQL Map¹¤¾ß£¬ËüÊǽ«ÊÖ¹¤±àдµÄÔÚxmlÅäÖÃÎļþÖеÄSQLÓï¾äÓ³Éä³ÉJava¶ÔÏó¡£

¡¡¡¡¶ÔÓ¦ÓÚÈý¸ö²ã´ÎµÄ¿ò¼Ü±È½Ï

¡¡¡¡1¡¢±íÏÖ²ã¿ò¼Ü±È½Ï

¡¡¡¡MVCÉè¼Æģʽ²»ÔÙÊÇijһÖÖ±íÏÖ²ã¿ò¼ÜµÄÌصã¶øÊÇÕ⼸ÖÖ¿ò¼ÜµÄ¹²ÐÔ¡£Struts¿ò¼ÜÓÉÓÚ³öÏÖʱ¼äÔ磬ËùÒÔʹÓÃÏà¶Ô¹ã·º£¬ËüµÄÉçÇø·Ç³£»îÔ¾£¬ºÜÈÝÒ×ÕÒµ½ºÜ¶àÏֳɵĿªÔ´¹¦ÄܱêÇ©ÒÔ¹©Ê¹ÓÃÒÔ¼°ÑùÀý³ÌÐò¿É¹©²Î¿¼¡£µ«ÊÇËüµÄ×é¼þÔÚÒ³ÃæÖÐÏÔʾµÄ´ÖÁ£¶È£¬ÒÔ¼°¿ò¼ÜÀàµÄÏÞÖÆÔںܶàÇé¿öÏ»á±íÏֵùýÓÚËÀ°å£¬¸ø±íʾ²ãµÄ¿ª·¢»á´øÀ´Ò»Ð©¶îÍâµÄ´úÂ뿪Ïú¡£JSFÔںܴó³Ì¶ÈÉÏÀàËÆStruts£¬Ö»ÊÇJSFµÄ×é¼þ¸ÅÄîûÓÐÏóStrutsÄÇÑù±ØÐë¼Ì³ÐActionFormµÄÏÞÖÆ£¬JSFÔÚʼþÁ£¶ÈÉÏÒª±ÈStrutsϸÄå¡£JSFÓеÄÁíÍâÒ»¸öÓÅÊƾÍÊÇÆäÉíºóÓÐSun ¹«Ë¾ºÍÆäËûµÄһЩ´ó¹«Ë¾µÄÖ§³Ö¡£TapestryÊÇÒ»¸öÍêÈ«×é¼þµÄ¿ò¼Ü£¬TapestryµÄ×é¼þ¿ÉÒÔ±»Ì×Ƕ²¢°ü¹üÆäËü×é¼þ£¬Òò´Ë¿ÉÒÔ×éºÏÐγÉÒ»¸ö¸ü´óµÄ×é¼þ»òÂß¼­Ò³Ãæ¡£×é¼þµÄÐÐΪģʽΪWebÒ³Ãæ±à³ÌÌṩÁ˺ܴóµÄ·½±ã£¬Ê¼þ´¦ÀíÒ²·½±ãºÜ¶à¡£ËùÒÔ£¬Èç¹û×öÒ»¸ö¶ÔÒ³ÃæÒªÇóÁé»î¶ÈÏ൱¸ßµÄϵͳ¾Í¿ÉÒÔ¿¼ÂÇÑ¡ÓÃTapestry¡£

±í1 ÈýÖÖ¿ò¼ÜµÄ±íÏֲ㹦Äܼ¼Êõϸ½Ú±È½Ï
<table cellSpacing=0 cellPadding=0 border=1> <tr> <td width=96>¿ò¼Ü </td> <td width=228>Struts </td> <td width=168>Tapestry3.0</td> <td width=156>JSF</td></tr> <tr> <td width=96>View×é¼þʵÏÖģʽ</td> <td width=228>±êÇ©¿â+×é¼þ£¬×é¼þ±ØÐë¼Ì³ÐActionForm</td> <td width=168>ÍêÈ«×é¼þ£¬·ÖÏÔʽµ÷ÓúÍÒþʽµ÷Óã¬×é¼þ±ØÐë¼Ì³ÐBaseComponent </td> <td width=156>±êÇ©¿â+×é¼þ£¬ÆÕͨPOJOÎÞÐè¼Ì³Ð</td></tr> <tr> <td width=96>×é¼þÔÚViewÏÔʾÁ£¶È</td> <td width=228>ViewÒ³ÃæÖ»ÄÜÏÔʾÓë±íµ¥¶ÔÓ¦µÄActionForm£¬ÅäÖÃÖÐActionÓë ActionFormÓë Ò³ÃæÒ»°ãÖ»ÄÜ1:1:1¹Øϵ¡£</td> <td width=168>¿É½«×é¼þǶÈëÒ³ÃæÈκÎÒ»ÐУ¬¶ÔʹÓÃ×é¼þÊýÁ¿ÎÞÏÞÖÆ¡£</td> <td width=156>ͬTapestry
</td></tr> <tr> <td width=96>Ò³ÃæÌøת</td> <td width=228>ʹÓñêÇ©¿âhtml:linkÖÐдÃ÷Ä¿±êURL£¬URLÃû³ÆÐèÒª¶ÔÕÕstruts_config.xmlÅäÖÃÎļþÖеÄpathÃüÃû£¬Óë×é¼þActionñîºÏ¡£</td> <td width=168>URLÃû³ÆÊÇÄ¿±êµÄ×é¼þÃû³Æ£¬²»Éæ¼°URLºÍ·¾¶µÈ²Ù×÷£¬·½±ãÎȹ̡£</td> <td width=156>ÀàËÆStruts£¬Ò²ÐèÒªÔÚÅäÖÃÎļþÖвéÕÒ£¬Óë×é¼þ·ÖÀë¡£</td></tr> <tr> <td width=96>ʼþ´¥·¢</td> <td width=228>ͨ¹ý±íµ¥Ìá½»submit¼¤»î£¬²»ÄÜϸ»¯µ½±íµ¥Àï×ֶΡ£</td> <td width=168>Äܹ»¸øÓÚ±íµ¥Ã¿¸ö×ֶθ³Ò»¸öʼþ£¬Ê¼þ×é¼þ±ØÐëʵÏÖPageListener½Ó¿Ú</td> <td width=156>ͬTapestry£¬Ê¼þ×é¼þ±ØÐëʵÏÖActionListener </td></tr></table>
¡¡¡¡2¡¢ÒµÎñ×é¼þ²ã¿ò¼Ü±È½Ï

¡¡¡¡EJB 2.1¿ò¼ÜÓÐЩ¹ýÓÚ¸´ÔÓÁË£¬ÓÐÈçÏÂȱµã£º

¡¡¡¡¢Ù EJBÄ£ÐÍÐèÒª½¨Á¢Ðí¶à×é¼þ½Ó¿ÚºÍʵÏÖÐí¶à²»±ØÒªµÄ»Ø¹ö·½·¨£»

¡¡¡¡¢Ú EJBµÄ²¿ÊðÃèÊö¸´ÔÓ¶øÈÝÒ׳ö´í£»

¡¡¡¡¢Û ¿ª·¢ÈËÔ±²»ÄÜÍÑÀëEJBÈÝÆ÷²âÊÔ¡£¶ÔÓÚÒÔÉÏȱµãJCP (Java Community Process)Öƶ©µÄEJB3.0±ê×¼¿ò¼Ü×öÁËÏàÓ¦µÄ¸Ä½ø£¬¸Ã¿ò¼ÜΪËùÓÐÖ÷ÒªµÄJ2EE³§ÉÌÖ§³Ö¡£EJB3.0ºÍSpringÁ½¸ö¿ò¼Ü½á¹¹¶¼ÓÐÒ»¸ö¹²Í¬ºËÐÄÉè¼ÆÀíÄ½«Öмä¼þ·þÎñ´«µÝ¸øñîºÏËÉÉ¢µÄPOJOs¡£

¡¡¡¡EJB3.0¿ò¼ÜÓëÓ¦Ó÷þÎñÆ÷¸ß¶ÈÕûºÏ£¬·þÎñÕûºÏ´úÂëÒ²°ü×°ÔÚÒ»¸ö±ê×¼½Ó¿ÚºóÃæ¡£EJB¿ò¼ÜÒ»·½ÃæÓгÉÊìµÄEJBÈÝÆ÷Ö§³Ö£¬»ùÓÚEJB¿ò¼ÜµÄÆóÒµÓ¦ÓÃÐÔÄÜÓÅÁ¼£»ÁíÒ»·½ÃæEJBÈÝÆ÷Éè¼ÆÒòΪ¿¼ÂÇÁ˶෽ÃæµÄ¹¦ÄÜ£¬ËùÒÔÔÚÆäÄÚºËÉÏ×ÜÊÇ»áÏÔµÃÓ·Ö×£¬ÕâÒ²ÊÇÒ»ÖÖÖØÁ¿±íÏÖ¡£²»ÐèÒªµÄ¶«Î÷´æÔڿ϶¨»áÓ°ÏìЧÂÊ£¬EJB²»Äܸù¾ÝÏîÄ¿ÐèÇó¶ÔEJBÕûÌå°üÀ¨EJBÈÝÆ÷½øÐпÉÅäÖÃʽµÄÇи

¡¡¡¡Spring¿ò¼Ü´¦ÓÚÓ¦Ó÷þÎñÆ÷ºÍ·þÎñ¿âµÄÉÏ·½£¬·þÎñÕûºÏµÄ´úÂëÊôÓÚ¿ò¼Ü£¬²¢±©Â¶ÓÚÓ¦Óÿª·¢Õß¡£ËüÓëÓ¦Ó÷þÎñÆ÷ÕûºÏµÄÄÜÁ¦Ïà¶ÔEJB3.0ÒªÈõ¡£µ«ÊÇSpring¿ò¼ÜÄ£¿éµÄ¿É·ÖÀëÅäÖÃÌåÏÖÁËËüÓÅÓÚEJB3.0µÄÁé»îÐÔ¡£

±í2 EJBºÍSpring¿ò¼ÜµÄ¾ßÌåϸ½Ú±È½Ï
<table cellSpacing=0 cellPadding=0 border=1> <tr> <td width=96>¿ò¼Ü</td> <td width=258>EJB2/EJB3</td> <td width=294>Spring Framework 1.x</td></tr> <tr> <td width=96>Áé»îÐÔ(ËÉñîºÏ)</td> <td width=258>EJB3±ÈEJB2¸ü¾ßÁé»îÐÔ£¬EJB3Ö§³ÖÓ¦ÓÃϵͳPOJO</td> <td width=294>Ö§³ÖÓ¦ÓÃϵͳPOJO£¬¿ò¼Ü±¾Éí¿É·ÖÀëÅäÖà </td></tr> <tr> <td width=96>¹¦ÄÜÍêÕûÐÔ </td> <td width=258>È«Ã棬֧³ÖÒì²½JMS ·Ö²¼Ê½ÊÂÎñ</td> <td width=294>½ÏΪȫÃæ¡£ÓÐ×Ô¼ºµÄ±íÏÖ²ãºÍ³Ö¾Ã²ãÄ£°å£¬¿ÉÖ§³ÖÒì²½</td></tr> <tr> <td width=96>ÁìÓò·¶Î§</td> <td width=258>Ö§³ÖÒµÎñÂß¼­Session</td> <td width=294>²»Ö§³Ö£¬ÐèÒª¿ª·¢Õ߶îÍâ»ùÓÚThreadLocal±àÖÆ´úÂë</td></tr> <tr> <td width=96>IoC/AOPÖ§³Ö</td> <td width=258>EJB3Ö§³ÖIoC£¬ JBossµÈEJB3·þÎñÆ÷Ö§³ÖAOP£»»ùÓÚÒµÎñ×é¼þµÄ½Ï´ÖÁ£¶È </td> <td width=294>»ùÓÚJavaBeansÀàµÄϸÁ£¶ÈÖ§³ÖAOP</td></tr> <tr> <td width=96>µ¥Ì¨ÐÔÄÜ</td> <td width=258>Ò»°ã£¬ÅúÁ¿²éѯµÈ´óÊý¾ÝÁ¿ÒµÎñ´¦ÀíÐëСÐÄ£¬´æÔÚ±¾µØ²»Í¸Ã÷ȱÏÝ¡£</td> <td width=294>Ò»°ã£¬Ó¦ÓóÌÐò¿ÉÅäÖÃcache/PoolÒÔÌá¸ßÐÔÄÜ</td></tr> <tr> <td width=96>¿ÉÉìËõÐÔ</td> <td width=258>¿ÉÖ§³Ö¶ą̀·þÎñÆ÷·Ö²¼Ê½¼ÆËã¡£</td> <td width=294>²»Ö§³Ö£¬¿ÉÒÀ¿¿EJBʵÏÖ</td></tr> <tr> <td width=96>¿ª·¢Ð§ÂÊ</td> <td vAlign=top width=258>ѧϰÇúÏß³¤£¬µ¼ÖÂÊìÁ·ÕÆÎÕÄÑ¡£½èÖúÉÌÒµ¿ª·¢¹¤¾ß¿É¼Ó¿ìÊìÁ·ÕߵĿª·¢Ëٶȡ£</td> <td vAlign=top width=294>¿ÉÌôÑ¡Ö»ÊʺÏ×Ô¼ºµÄ¹¦ÄÜʵÏÖ¡£Ïà¶ÔEJBÉÔ¼òµ¥¡£</td></tr> <tr> <td width=96>ϵͳ¹æÄ£</td> <td width=258>EJB2ÊʺϴóÐÍϵͳ;EJB3ÊʺÏÖдóÐÍϵͳ</td> <td width=294>ÊʺÏÖÐСÐÍϵͳ£¬¿É½èÖúEJBÖ§³ÖÖдóÐÍϵͳ</td></tr></table>
¡¡¡¡3¡¢³Ö¾Ã²ã¿ò¼Ü±È½Ï

¡¡¡¡ÈÝÆ÷¹ÜÀí³Ö¾ÃÐÔ£¨CMP£©ÊǶÔEJBÖÐEntity Bean½øÐг־ÃÐÔ¹ÜÀíµÄ·½Ê½¡£EJB2.1 ³Ö¾ÃÐÔÄ£Ð͹ýÓÚ¸´ÔÓ²¢ÇÒ´æÔÚ»ù´¡È±ÏÝ[3]¡£EJB3.0³Ö¾Ã²ãÕë¶ÔEJB2.1µÄȱÏÝ×öÁËÏàÓ¦¸Ä½ø£¬²ÉÓÃÓëHibernateÀàËƵĻúÖÆ¡£

¡¡¡¡HibernateÏà¶Ô¶øÑÔÆä»ù±¾ÓÅÊÆÈçÏ£º

¡¡¡¡¢ÙHibernate ʹÓà Java ·´Éä»úÖƶø²»ÊÇ×Ö½ÚÂëÔöÇ¿³ÌÐòÀ´ÊµÏÖ͸Ã÷ÐÔ£»

¡¡¡¡¢ÚHibernateµÄʹÓüòµ¥£»

¡¡¡¡¢ÛÓ³ÉäµÄÁé»îÐԺܳöÉ«£¬ËüÖ§³Ö¸÷ÖÖ¹ØϵÊý¾Ý¿â£¬´ÓÒ»¶ÔÒ»µ½¶à¶Ô¶àµÄ¸÷ÖÖ¸´ÔÓ¹Øϵ¡£Hibernate Ò²ÓÐһЩȱµã£¬ËüÏÞÖÆËùʹÓõĶÔÏóÄ£ÐÍ (ÀýÈ磬һ¸ö³Ö¾ÃÐÔÀ಻ÄÜÓ³Éäµ½¶à¸ö±í)¡£

¡¡¡¡Ê¹ÓÃiBATISÌṩµÄO/R Mapping»úÖÆ£¬¶ÔÒµÎñÂß¼­ÊµÏÖÈËÔ±¶øÑÔ£¬Ãæ¶ÔµÄÊÇ´¿´âµÄJava¶ÔÏó£¬ÕâÒ»²ãÓëͨ¹ýHibernate ʵÏÖO/R Mapping ¶øÑÔ»ù±¾Ò»Ö£¬¶ø¶ÔÓÚ¾ßÌåµÄÊý¾Ý²Ù×÷£¬Hibernate »á×Ô¶¯Éú³ÉSQL Óï¾ä£¬¶øiBATISÔòÒªÇ󿪷¢Õß±àд¾ßÌåµÄSQL Óï¾ä¡£Ïà¶ÔHibernateµÈ ¡°È«×Ô¶¯¡±O/R Mapping»úÖƶøÑÔ£¬iBATISÒÔSQL¿ª·¢µÄ¹¤×÷Á¿ºÍÊý¾Ý¿âÒÆÖ²ÐÔÉϵÄÈò½£¬ÎªÏµÍ³Éè¼ÆÌṩÁ˸ü´óµÄ×ÔÓɿռ䡣×÷Ϊ¡°È«×Ô¶¯¡±ORM ʵÏÖµÄÒ»ÖÖÓÐÒæ²¹³ä£¬iBATISµÄ³öÏÖÏԵñð¾ßÒâÒå¡£

¡¡¡¡ÆóÒµÓ¦ÓÃϵͳ¿ò¼ÜÑ¡Ôñ

¡¡¡¡Éè¼ÆºÍÐÔÄÜÊÇʵ¼Ê¿ò¼ÜÑ¡ÔñµÄÁ½¸ö»ù±¾µã£¬ÉÆÓÚƽºâ²ÅÊÇ¿ò¼ÜÑ¡ÔñµÄÖ÷Òª×ÚÖ¼¡£ÇáÁ¿¼¶¿ò¼ÜºÍÖØÁ¿¼¶¿ò¼Ü½â¾öÎÊÌâµÄ²àÖصãÊDz»Í¬µÄ¡£

¡¡¡¡ÇáÁ¿¼¶¿ò¼Ü²àÖØÓÚ¼õС¿ª·¢µÄ¸´ÔӶȣ¬ÏàÓ¦µÄËüµÄ´¦ÀíÄÜÁ¦±ãÓÐËù¼õÈõ£¨ÈçÊÂÎñ¹¦ÄÜÈõ¡¢²»¾ß±¸·Ö²¼Ê½´¦ÀíÄÜÁ¦£©£¬±È½ÏÊÊÓÃÓÚ¿ª·¢ÖÐСÐÍÆóÒµÓ¦ÓᣲÉÓÃÇáÁ¿¿ò¼ÜÒ»·½ÃæÒòΪ¾¡¿ÉÄܵIJÉÓûùÓÚPOJOsµÄ·½·¨½øÐпª·¢£¬Ê¹Ó¦Óò»ÒÀÀµÓÚÈκÎÈÝÆ÷£¬Õâ¿ÉÒÔÌá¸ß¿ª·¢µ÷ÊÔЧÂÊ£»ÁíÒ»·½ÃæÇáÁ¿¼¶¿ò¼Ü¶àÊýÊÇ¿ªÔ´ÏîÄ¿£¬¿ªÔ´ÉçÇøÌṩÁËÁ¼ºÃµÄÉè¼ÆºÍÐí¶à¿ìËÙ¹¹½¨¹¤¾ßÒÔ¼°´óÁ¿Ïֳɿɹ©²Î¿¼µÄ¿ªÔ´´úÂ룬ÕâÓÐÀûÓÚÏîÄ¿µÄ¿ìËÙ¿ª·¢¡£ÀýÈçÄ¿Ç°Tomcat+Spring+HibernateÒѾ­³ÉΪÐí¶à¿ª·¢Õß¿ª·¢J2EEÖÐСÐÍÆóÒµÓ¦ÓÃÆ«°®µÄÒ»Öּܹ¹Ñ¡Ôñ¡£Ëæ×ſɹ©Ñ¡ÔñµÄ¿ò¼Ü²ã³ö²»Ç¿ª·¢Õß¿ÉÒÔ¸ù¾ÝÐèÒª¶ÔÓ¦ÓÚÆóÒµÓ¦ÓÃÈý¸ö²ã´ÎµÄÇáÁ¿¼¶¿ò¼ÜÑ¡Ôñ£¬±¾ÎĵÚ2½ÚµÄÄÚÈݿɹ©Ñ¡Ôñ²Î¿¼¡£

¡¡¡¡¶ø×÷ΪÖØÁ¿¼¶¿ò¼ÜEJB¿ò¼ÜÔòÇ¿µ÷¸ß¿ÉÉìËõÐÔ£¬ÊʺÏÓ뿪·¢´óÐÍÆóÒµÓ¦Óá£ÔÚEJBÌåϵ½á¹¹ÖУ¬Ò»ÇÐÓë»ù´¡½á¹¹·þÎñÏà¹ØµÄÎÊÌâºÍµ×²ã·ÖÅäÎÊÌⶼÓÉÓ¦ÓóÌÐòÈÝÆ÷»ò·þÎñÆ÷À´´¦Àí£¬ÇÒEJBÈÝÆ÷ͨ¹ý¼õÉÙÊý¾Ý¿â·ÃÎÊ´ÎÊýÒÔ¼°·Ö²¼Ê½´¦ÀíµÈ·½Ê½ÌṩÁË× ¨ÃŵÄϵͳÐÔÄܽâ¾ö·½°¸£¬Äܹ»³ä·Ö½â¾öϵͳÐÔÄÜÎÊÌâ¡£

¡¡¡¡ÇáÁ¿¼¶¿ò¼ÜµÄ²úÉú²¢·ÇÊǶÔÖØÁ¿¼¶¿ò¼ÜµÄ·ñ¶¨£¬ÉõÖÁÔÚijÖ̶ֳÈÉÏ¿ÉÒÔ˵¶þÕßÊÇ»¥²¹µÄ¡£ÇáÁ¿¼¶¿ò¼ÜÔÚŬÁ¦·¢Õ¹ÒÔ¿ª·¢¾ßÓиüÇ¿´ó£¬¹¦ÄܸüÍ걸µÄÆóÒµÓ¦Ó㻶øеÄEJB¹æ·¶EJB3.0ÔòÔÚŬÁ¦¼ò»¯J2EEµÄʹÓÃÒÔʹµÃEJB²»½ö½öÊÇÉó¤´¦Àí´óÐÍÆóҵϵͳ£¬Ò²ÀûÓÿª·¢ÖÐСÐÍϵͳ£¬ÕâÒ²ÊÇEJBÇáÁ¿»¯µÄÒ»ÖÖŬÁ¦¡£¶ÔÓÚ´óÐÍÆóÒµÓ¦ÓÃÒÔ¼°½«À´¿ÉÄÜÉæ¼°µ½ÄÜÁ¦À©Õ¹µÄÖÐСÐÍÓ¦ÓòÉÓýáºÏʹÓÃÇáÁ¿¼¶¿ò¼ÜºÍÖØÁ¿¼¶¿ò¼ÜÒ²²»Ê§ÎªÒ»ÖֽϺõĽâ¾ö·½°¸¡£

¡¡¡¡×ܽá

¡¡¡¡Ä¿Ç°ÊÊÓÃJavaÆóÒµÓ¦ÓõÄϵͳ¿ò¼Ü¿Éν°Ù»¨Æë·Å£¬¸÷ÖÖ¿ò¼Ü¶¼Óг¤¶Ì£¬Ñ¡ÔñÓ¦ÓÃϵͳ¿ò¼Üʱ²»¿ÉäĿµÄ×·ÇóÁ÷ÐУ¬Ê×ÏÈÐèÒªÃ÷È·ËùҪʵÏÖµÄÓ¦ÓÃϵͳµÄϵͳ´¦ÀíÄÜÁ¦ÐèÇó£¬È»ºóÔÚÊìϤ±È½Ï¸÷ÖÖ¿ò¼Üϸ½ÚµÄ»ù´¡ÉÏ´ÓÉè¼ÆÒÔ¼°¿ª·¢Ð§ÂÊ·½Ãæ½øÐп¼ÂÇ¡£±¾ÎÄÖ¼ÔÚΪϵͳ¿ò¼ÜÑ¡ÔñÌṩһ¸ö²Î¿¼£¬ÏÞÓÚƪ·ù±¾ÎÄÖ»¶ÔÆäÖеļ¸ÖÖ¿ò¼Ü×öÁ˱Ƚϣ¬¿ª·¢Õß¿ÉÒÔ¸ù¾ÝÐèÒª¶Ô¸ü¶àÆäËû¿ò¼Üϸ½Ú½øÐбȽϡ£

¡ü·µ»ØĿ¼
ǰһƪ: »ùÓÚStruts¼¼ÊõµÄWebÓ¦ÓÃÉè¼ÆÓëʵÏÖ_Java¿ªÔ´ÏîÄ¿_Struts
ºóһƪ: ´óÇɲ»¹¤ JGraph¼ò½éºÍʹÓü¼ÇÉ