[ÒëÎÄ]Java EE 6ÖеÄÒÀÀµ×¢Èë——µÚ1²¿·Ö
ÔÎÄ£ºDependency Injection in Java EE 6 – Part 1
×÷ÕߣºReza Rahman
³ö´¦£ºhttp://www.theserverside.com/tt/articles/article.tss?l=DependencyInjectioninJavaEE6
ÕâÒ»ÎÄÕÂϵÁнéÉÜÁËJava EEµÄÉÏÏÂÎĺÍÒÀÀµ×¢È루Contexts and Dependency Injection for Java EE£¬CDI£©£¬CDIÊǼ´½«Íê³ÉµÄJava EE 6ƽ̨µÄ¹Ø¼ü×é³É²¿·Ö£¬¾ÓÉJSR 299½øÐбê×¼»¯¡£CDIÊÇJava EEÕû¸öÏÂÒ»´úÀàÐͰ²È«µÄÒÀÀµ×¢ÈëµÄÊÂʵÉϵÄAPI¡£JSR 299ÓÉGavin KingÁìµ¼£¬ÆäÄ¿±êÊÇ×ÛºÏÀ´×ÔÖîÈçSeam¡¢GuiceºÍSpringÒ»ÀàµÄ½â¾ö·½°¸µÄ×îºÃµÄÒÀÀµ×¢È빦ÄÜ£¬Í¬Ê±¼ÓÈëÐí¶à×Ô¼ºµÄÓÐÓô´Ð¡£
±¾ÎÄÊÇÎÄÕÂϵÁеĵÚһƪ£¬ÎÒÃÇ´òËã´ÓÒ»¸ö¸ß²ãÃæÀ´Ñо¿CDI£¬¿´¿´ËüÊÇÈçºÎÓëJava EEÕûÌåÏàÅäºÏµÄ£¬²¢ÌÖÂÛ»ù´¡µÄÒÀÀµ¹ÜÀí¼°×÷ÓÃÓò¡£ÔÚÕâһϵÁÐÎÄÕµĽéÉܹý³ÌÖУ¬ÎÒÃÇ»áÉæ¼°×é¼þÃüÃû¡¢°æÐÍ£¨stereotype£©¡¢Éú²úÕߣ¨producer£©¡¢´¦ÖÃÕߣ¨disposer£©¡¢×°ÊÎÆ÷£¨decorator£©¡¢À¹½ØÆ÷£¨interceptor£©¡¢Ê¼þ¡¢ÓÃÓÚ¿ÉÒÆÖ²À©Õ¹µÄCDI APIµÈ£¬ÒÔ¼°¸ü¶àÖîÈç´ËÀàµÄ¹¦ÄÜ¡£ÎÒÃÇ»¹½«ÌÖÂÛCDIÈçºÎÓëSeam¡¢SpringÒÔ¼°Guice±£³ÖÒ»Ö£¬²¢Í¨¹ýһЩʹÓÃCanDIµÄʵÏÖϸ½ÚÀ´²¹³äÕâÒ»ÌÖÂÛ¡£CanDIÊÇCaucho¶ÔJSR299µÄ¶ÀÁ¢ÊµÏÖ£¬±»ÊÕÈëµ½ResinÓ¦Ó÷þÎñÆ÷ÖС£
¿ìËٻعË
Java EE 5µÄÖ÷Òª¹Ø×¢µãÊÇÆ¾½èPOJO±à³Ì¡¢×¢½âºÍÔ¼¶¨¸ßÓÚÅäÖã¨convention-over-configuration£©µÈ·½ÃæÀ´Ê¹µÃ×ÔÉíÒ×ÓÚʹÓã¬Java EE 5ÖÐȷʵÓÐÒÀÀµ×¢ÈëµÄ»ù±¾ÐÎʽ£¬Ò²Ðí¶ÔÆä×îÇ¡µ±µÄÊõÓï³ÆÎ½ÊÇ×ÊÔ´×¢È루resource injection£©¡£¾ßÌåÀ´Ëµ£¬Äã¿ÉÒÔ½èÖú@Resource¡¢@PersistenceContext¡¢@PersistenceUnitºÍ@EJBµÈ×¢½â°ÑJMSÁ¬½Ó¹¤³§¡¢Êý¾ÝÔ´¡¢¶ÓÁС¢JPAʵÌå¹ÜÀíÆ÷¡¢ÊµÌå¹ÜÀíÆ÷¹¤³§ºÍEJBÒ»ÀàµÄÈÝÆ÷×ÊÔ´×¢Èëµ½Servlet¡¢JSFºǫ́bean£¨JSF backing bean£©ºÍÆäËûµÄEJBÖС£ÕâÖÖÄ£ÐÍÊÊÓÃÓÚ°üº¬Á˱»Ð´³ÉEJBºÍJSFµÄJPAÁìÓò¶ÔÏó¡¢·þÎñºÍDAOµÄÓ¦Óá£
²»¹ý£¬ÎªÁËһЩÓÃÀý£¬Äã²»µÃ²»ÇóÖúÓÚÏñSeam¡¢Spring»òGuiceÒ»ÀàµÄ¸üͨÓõÄÒÀÀµ×¢Èë¼¼Êõ£¬ÀýÈ磬Äã²»ÄܰÑEJB×¢Èëµ½Struts Action»òÕßJUnit²âÊÔÖУ¬ÒÔ¼°²»ÄÜ×¢ÈëÒòΪ²»ÐèÒªÊÂÎñ¶øÃ»Óб»±àд³ÉEJBµÄDAO»òÕßÖúÊÖ£¨helper£©ÀàÖУ»ÁíÍ⣬ºÜÄÑÕûºÏµÚÈý·½/ÄÚ²¿µÄAPI»òÕßÊÇʹÓÃJava EE 5×÷Ϊ¹¹½¨ÕâÖÖ²¢·Ç½ö½öÊÇÑϸñµÄÒµÎñ×é¼þµÄAPIµÄ»ù´¡¡£¶øÕâЩÕýºÃÊÇCDIÖ¼ÔÚ½â¾öµÄÄÇÒ»ÀàÎÊÌ⣬CDIÒÔÒ»ÖֺܺõØÎǺÏÁËJavaÀíÄîµÄ¸ß¶ÈÀàÐͰ²È«¡¢Îȶ¨¼°¿ÉÒÆÖ²µÄ·½Ê½À´½â¾öÕâЩÎÊÌ⡣ʵ¼ÊÉÏ£¬ResinÈÝÆ÷±¾ÉíµÄÐí¶à²¿·Ö¶¼ÊÇÀûÓÃJSR 2
Ïà¹ØÎĵµ£º
Sun·¢²¼ÁËJava SE 6 Beta
£¨ÒÔϼò³Æ6£©£¬²éÁ˲鹦ÄܸĽø
£¬Ã»Óз¢ÏÖʲô¼¤¶¯ÈËÐĵı仯¡£ÌôÁ˼¸ÌõÉÔ΢¸ÐÐËȤһµãµÄÆÀ¼Ûһϡ£
jconsole is more user-friendly
6µÄн¨Á¬½ÓµÄ´°¿ÚÓзdz£´óµÄ¸Ä±ä¡£ÔÚLocal Process´°¿ÚÁгöÁËËùÓб¾µØjava½ø³Ì£¨°üÀ¨jconsole±¾Éí£©£¬²»ÄÜͨ¹ýJconsole½øÐйÜÀíµÄ½ø³Ì´¦ÓÚdisable× ......
Õâ¸ö¹ØÓÚJMS(Java Message Service)µÄ¸ÅÒª»Ø´ðÁËÏÂÃæ¼¸¸öÎÊÌ⣺
1.ʲôÊÇÏûÏ¢£¿
2.ôÊÇJMS API£¿
3.ÈçºÎʹÓÃJMS API£¿
4. JMS APIÊÇÈçºÎÓëJ2EEƽ̨һÆð¹¤×÷µÄ£¿
1.1ʲôÊÇÏûÏ¢£¿
ÏûÏ¢ÊÇÈí¼þ×é¼þ»òÕßÓ¦ÓÃÖ®¼ä½»Á÷µÄÒ»ÖÖ·½·¨¡£ÏûϢϵͳÊÇÒ»¸öµã¶ÔµãµÄ¹¦ÄÜ£¬Ò»¸öÏûÏ¢¿Í»§¶Ë¿ÉÒÔ·¢ËÍºÍ½Ó ......
C++ÓëJavaÒìͬ
1¡¢Ö¸Õë¡ï¡ï¡ï¡ï¡ï
C C++ÖеÄÖ¸Õ룬ÌṩÁ˺ܴóµÄÁé»îÐÔ£¬µ«ÊÇÁé»îÒ²´øÀ´ÁËΣÏÕ£¬¶ÔÖ¸Õë²Ù×÷µÄ²»µ±ÈÝÒ×Ôì³ÉÄÚ´æÐ¹Â¶»òÊÇ¿ÕÐüÖ¸ÕëµÈÎÊÌâ¡£
JavaÈ¡ÏûÁËÖ¸Õë¡£µ«Êµ¼ÊÉÏ£¬javaÖÐÉùÃ÷µÄËùÓÐÒýÓÃÊý¾ÝÀàÐ͵ÄÃû³Æ£¬¿ÉÒÔÀí½âΪ¾ÍÊÇÒ»¸öÖ¸Õë¡£¸ÃÃû³Æ´æ´¢ÔÚÕ»ÄÚ´æÉÏ£¬Ö¸Ïò¶ÔÄÚ´æÉÏʹÓÃnew¿ª±ÙµÄ¿Õ¼ä¡£
È磺
int[] ......
java³ÌÐòÄÚ´æÖ÷Òª·ÖΪÁË2¸ö²¿·Ö£¬°üÀ¨ stack segment(Õ»ÄÚ´æ)¡¢heap segment(¶ÑÄÚ´æ)¡£
ÔÚ·ÖÎöJava³ÌÐòÄÚ´æ·ÖÅäÇé¿öʱ£¬ÎÒÃÇ´ÓÏÂÃæÕâ¸ö¾³£±»Ê¹ÓõÄÀý×Ó¿ªÊ¼°É¡£
ÏÂÃæ³ÌÐò½«´òÓ¡Ê²Ã´ÄØ£¿
Java´úÂë
String s1&nbs ......