UMLÈí¼þ¹¤³Ì×éÖ¯

Spring¿ò¼Ü¿ìËÙÈëÃÅÖ®¼ò½é
×÷ÕߣºJAVAFAN
¡¡¡¡Spring ÊÇÒ»¸ö¿ªÔ´¿ò¼Ü£¬ÊÇΪÁ˽â¾öÆóÒµÓ¦ÓóÌÐò¿ª·¢¸´ÔÓÐÔ¶ø´´½¨µÄ¡£¿ò¼ÜµÄÖ÷ÒªÓÅÊÆÖ®Ò»¾ÍÊÇÆä·Ö²ã¼Ü¹¹£¬·Ö²ã¼Ü¹¹ÔÊÐíÄúÑ¡ÔñʹÓÃÄÄÒ»¸ö×é¼þ£¬Í¬Ê±Îª J2EE Ó¦ÓóÌÐò¿ª·¢Ìṩ¼¯³ÉµÄ¿ò¼Ü¡£ 

¡¡¡¡ÔÚÕâƪÓÉÈý²¿·Ö×é³ÉµÄ Spring ϵÁÐ µÄµÚ 1 ²¿·ÖÖУ¬ÎÒ½«½éÉÜ Spring ¿ò¼Ü¡£ÎÒÏÈ´Ó¿ò¼Üµ×²ãÄ£Ð͵ĽǶÈÃèÊö¸Ã¿ò¼ÜµÄ¹¦ÄÜ£¬È»ºó½«ÌÖÂÛÁ½¸ö×îÓÐȤµÄÄ£¿é£ºSpring ÃæÏò·½Ãæ±à³Ì£¨AOP£©ºÍ¿ØÖÆ·´×ª £¨IOC£© ÈÝÆ÷¡£½Ó׎«Ê¹Óü¸¸öʾÀýÑÝʾ IOC ÈÝÆ÷ÔÚµäÐÍÓ¦ÓóÌÐòÓÃÀý³¡¾°ÖеÄÓ¦ÓÃÇé¿ö¡£ÕâЩʾÀý»¹½«³ÉΪ±¾ÏµÁкóÃ沿·Ö½øÐеÄÕ¹¿ªÊ½ÌÖÂ۵Ļù´¡£¬ÔÚ±¾ÎĵĺóÃ沿·Ö£¬½«½éÉÜ Spring ¿ò¼Üͨ¹ý Spring AOP ʵÏÖ AOP ¹¹ÔìµÄ·½Ê½¡£

¡¡¡¡Spring ¿ò¼Ü

¡¡¡¡Spring ¿ò¼ÜÊÇÒ»¸ö·Ö²ã¼Ü¹¹£¬ÓÉ 7 ¸ö¶¨ÒåÁ¼ºÃµÄÄ£¿é×é³É¡£Spring Ä£¿é¹¹½¨ÔÚºËÐÄÈÝÆ÷Ö®ÉÏ£¬ºËÐÄÈÝÆ÷¶¨ÒåÁË´´½¨¡¢ÅäÖú͹ÜÀí bean µÄ·½Ê½£¬Èçͼ 1 Ëùʾ¡£


ͼ 1. Spring ¿ò¼ÜµÄ 7 ¸öÄ£¿é

¡¡¡¡×é³É Spring ¿ò¼ÜµÄÿ¸öÄ£¿é£¨»ò×é¼þ£©¶¼¿ÉÒÔµ¥¶À´æÔÚ£¬»òÕßÓëÆäËûÒ»¸ö»ò¶à¸öÄ£¿éÁªºÏʵÏÖ¡£Ã¿¸öÄ£¿éµÄ¹¦ÄÜÈçÏ£º 

¡¡¡¡¡î ºËÐÄÈÝÆ÷£ººËÐÄÈÝÆ÷Ìṩ Spring ¿ò¼ÜµÄ»ù±¾¹¦ÄÜ¡£ºËÐÄÈÝÆ÷µÄÖ÷Òª×é¼þÊÇ BeanFactory£¬ËüÊǹ¤³§Ä£Ê½µÄʵÏÖ¡£BeanFactory ʹÓÿØÖÆ·´×ª £¨IOC£© ģʽ½«Ó¦ÓóÌÐòµÄÅäÖúÍÒÀÀµÐԹ淶Óëʵ¼ÊµÄÓ¦ÓóÌÐò´úÂë·Ö¿ª¡£

¡¡¡¡¡î Spring ÉÏÏÂÎÄ£ºSpring ÉÏÏÂÎÄÊÇÒ»¸öÅäÖÃÎļþ£¬Ïò Spring ¿ò¼ÜÌṩÉÏÏÂÎÄÐÅÏ¢¡£Spring ÉÏÏÂÎÄ°üÀ¨ÆóÒµ·þÎñ£¬ÀýÈç JNDI¡¢EJB¡¢µç×ÓÓʼþ¡¢¹ú¼Ê»¯¡¢Ð£ÑéºÍµ÷¶È¹¦ÄÜ¡£

¡¡¡¡¡î Spring AOP£ºÍ¨¹ýÅäÖùÜÀíÌØÐÔ£¬Spring AOP Ä£¿éÖ±½Ó½«ÃæÏò·½ÃæµÄ±à³Ì¹¦Äܼ¯³Éµ½ÁË Spring ¿ò¼ÜÖС£ËùÒÔ£¬¿ÉÒÔºÜÈÝÒ×µØʹ Spring ¿ò¼Ü¹ÜÀíµÄÈκζÔÏóÖ§³Ö AOP¡£Spring AOP Ä£¿éΪ»ùÓÚ Spring µÄÓ¦ÓóÌÐòÖеĶÔÏóÌṩÁËÊÂÎñ¹ÜÀí·þÎñ¡£Í¨¹ýʹÓà Spring AOP£¬²»ÓÃÒÀÀµ EJB ×é¼þ£¬¾Í¿ÉÒÔ½«ÉùÃ÷ÐÔÊÂÎñ¹ÜÀí¼¯³Éµ½Ó¦ÓóÌÐòÖС£

¡¡¡¡¡î Spring DAO£ºJDBC DAO ³éÏó²ãÌṩÁËÓÐÒâÒåµÄÒì³£²ã´Î½á¹¹£¬¿ÉÓøýṹÀ´¹ÜÀíÒì³£´¦ÀíºÍ²»Í¬Êý¾Ý¿â¹©Ó¦ÉÌÅ׳öµÄ´íÎóÏûÏ¢¡£Òì³£²ã´Î½á¹¹¼ò»¯ÁË´íÎó´¦Àí£¬²¢ÇÒ¼«´óµØ½µµÍÁËÐèÒª±àдµÄÒì³£´úÂëÊýÁ¿£¨ÀýÈç´ò¿ªºÍ¹Ø±ÕÁ¬½Ó£©¡£Spring DAO µÄÃæÏò JDBC µÄÒì³£×ñ´ÓͨÓÃµÄ DAO Òì³£²ã´Î½á¹¹¡£

¡¡¡¡¡î Spring ORM£ºSpring ¿ò¼Ü²åÈëÁËÈô¸É¸ö ORM ¿ò¼Ü£¬´Ó¶øÌṩÁË ORM µÄ¶ÔÏó¹Øϵ¹¤¾ß£¬ÆäÖаüÀ¨ JDO¡¢Hibernate ºÍ iBatis SQL Map¡£ËùÓÐÕâЩ¶¼×ñ´Ó Spring µÄͨÓÃÊÂÎñºÍ DAO Òì³£²ã´Î½á¹¹¡£

¡¡¡¡¡î Spring Web Ä£¿é£ºWeb ÉÏÏÂÎÄÄ£¿é½¨Á¢ÔÚÓ¦ÓóÌÐòÉÏÏÂÎÄÄ£¿éÖ®ÉÏ£¬Îª»ùÓÚ Web µÄÓ¦ÓóÌÐòÌṩÁËÉÏÏÂÎÄ¡£ËùÒÔ£¬Spring ¿ò¼ÜÖ§³ÖÓë Jakarta Struts µÄ¼¯³É¡£Web Ä£¿é»¹¼ò»¯ÁË´¦Àí¶à²¿·ÖÇëÇóÒÔ¼°½«ÇëÇó²ÎÊý°ó¶¨µ½Óò¶ÔÏóµÄ¹¤×÷¡£

¡¡¡¡¡î Spring MVC ¿ò¼Ü£ºMVC ¿ò¼ÜÊÇÒ»¸öÈ«¹¦ÄܵĹ¹½¨ Web Ó¦ÓóÌÐòµÄ MVC ʵÏÖ¡£Í¨¹ý²ßÂÔ½Ó¿Ú£¬MVC ¿ò¼Ü±ä³ÉΪ¸ß¶È¿ÉÅäÖõģ¬MVC ÈÝÄÉÁË´óÁ¿ÊÓͼ¼¼Êõ£¬ÆäÖаüÀ¨ JSP¡¢Velocity¡¢Tiles¡¢iText ºÍ POI¡£

¡¡¡¡Spring ¿ò¼ÜµÄ¹¦ÄÜ¿ÉÒÔÓÃÔÚÈκΠJ2EE ·þÎñÆ÷ÖУ¬´ó¶àÊý¹¦ÄÜÒ²ÊÊÓÃÓÚ²»ÊܹÜÀíµÄ»·¾³¡£Spring µÄºËÐÄÒªµãÊÇ£ºÖ§³Ö²»°ó¶¨µ½Ìض¨ J2EE ·þÎñµÄ¿ÉÖØÓÃÒµÎñºÍÊý¾Ý·ÃÎʶÔÏ󡣺ÁÎÞÒÉÎÊ£¬ÕâÑùµÄ¶ÔÏó¿ÉÒÔÔÚ²»Í¬ J2EE »·¾³ £¨Web »ò EJB£©¡¢¶ÀÁ¢Ó¦ÓóÌÐò¡¢²âÊÔ»·¾³Ö®¼äÖØÓᣠ

¡¡¡¡IOC ºÍ AOP

¡¡¡¡¿ØÖÆ·´×ªÄ£Ê½£¨Ò²³Æ×÷ÒÀÀµÐÔ½éÈ룩µÄ»ù±¾¸ÅÄîÊÇ£º²»´´½¨¶ÔÏ󣬵«ÊÇÃèÊö´´½¨ËüÃǵķ½Ê½¡£ÔÚ´úÂëÖв»Ö±½ÓÓë¶ÔÏóºÍ·þÎñÁ¬½Ó£¬µ«ÔÚÅäÖÃÎļþÖÐÃèÊöÄÄÒ»¸ö×é¼þÐèÒªÄÄÒ»Ïî·þÎñ¡£ÈÝÆ÷ £¨ÔÚ Spring ¿ò¼ÜÖÐÊÇ IOC ÈÝÆ÷£© ¸ºÔð½«ÕâЩÁªÏµÔÚÒ»Æð¡£

¡¡¡¡ÔÚµäÐ굀 IOC ³¡¾°ÖУ¬ÈÝÆ÷´´½¨ÁËËùÓжÔÏ󣬲¢ÉèÖñØÒªµÄÊôÐÔ½«ËüÃÇÁ¬½ÓÔÚÒ»Æ𣬾ö¶¨Ê²Ã´Ê±¼äµ÷Ó÷½·¨¡£Ï±íÁгöÁË IOC µÄÒ»¸öʵÏÖģʽ¡£

ÀàÐÍ 1 ·þÎñÐèҪʵÏÖרÃŵĽӿڣ¬Í¨¹ý½Ó¿Ú£¬ÓɶÔÏóÌṩÕâЩ·þÎñ£¬¿ÉÒÔ´Ó¶ÔÏó²éѯÒÀÀµÐÔ£¨ÀýÈ磬ÐèÒªµÄ¸½¼Ó·þÎñ£©
ÀàÐÍ 2 ͨ¹ý JavaBean µÄÊôÐÔ£¨ÀýÈç setter ·½·¨£©·ÖÅäÒÀÀµÐÔ
ÀàÐÍ 3 ÒÀÀµÐÔÒÔ¹¹Ô캯ÊýµÄÐÎʽÌṩ£¬²»ÒÔ JavaBean ÊôÐÔµÄÐÎʽ¹«¿ª


¡¡¡¡Spring ¿ò¼ÜµÄ IOC ÈÝÆ÷²ÉÓÃÀàÐÍ 2 ºÍÀàÐÍ3 ʵÏÖ¡£

¡¡¡¡ÃæÏò·½ÃæµÄ±à³Ì

¡¡¡¡ÃæÏò·½ÃæµÄ±à³Ì£¬¼´ AOP£¬ÊÇÒ»ÖÖ±à³Ì¼¼Êõ£¬ËüÔÊÐí³ÌÐòÔ±¶ÔºáÇйØ×¢µã»òºáÇеäÐ͵ÄÖ°Ôð·Ö½çÏßµÄÐÐΪ£¨ÀýÈçÈÕÖ¾ºÍÊÂÎñ¹ÜÀí£©½øÐÐÄ£¿é»¯¡£AOP µÄºËÐĹ¹ÔìÊÇ·½Ã棬Ëü½«ÄÇЩӰÏì¶à¸öÀàµÄÐÐΪ·â×°µ½¿ÉÖØÓõÄÄ£¿éÖС£

¡¡¡¡AOP ºÍ IOC ÊDz¹³äÐԵļ¼Êõ£¬ËüÃǶ¼ÔËÓÃÄ£¿é»¯·½Ê½½â¾öÆóÒµÓ¦ÓóÌÐò¿ª·¢Öеĸ´ÔÓÎÊÌâ¡£ÔÚµäÐ͵ÄÃæÏò¶ÔÏ󿪷¢·½Ê½ÖУ¬¿ÉÄÜÒª½«ÈÕÖ¾¼Ç¼Óï¾ä·ÅÔÚËùÓз½·¨ºÍ Java ÀàÖвÅÄÜʵÏÖÈÕÖ¾¹¦ÄÜ¡£ÔÚ AOP ·½Ê½ÖУ¬¿ÉÒÔ·´¹ýÀ´½«ÈÕÖ¾·þÎñÄ£¿é»¯£¬²¢ÒÔÉùÃ÷µÄ·½Ê½½«ËüÃÇÓ¦Óõ½ÐèÒªÈÕÖ¾µÄ×é¼þÉÏ¡£µ±È»£¬ÓÅÊƾÍÊÇ Java À಻ÐèÒªÖªµÀÈÕÖ¾·þÎñµÄ´æÔÚ£¬Ò²²»ÐèÒª¿¼ÂÇÏà¹ØµÄ´úÂë¡£ËùÒÔ£¬Óà Spring AOP ±àдµÄÓ¦ÓóÌÐò´úÂëÊÇËÉÉ¢ñîºÏµÄ¡£

¡¡¡¡AOP µÄ¹¦ÄÜÍêÈ«¼¯³Éµ½ÁË Spring ÊÂÎñ¹ÜÀí¡¢ÈÕÖ¾ºÍÆäËû¸÷ÖÖÌØÐÔµÄÉÏÏÂÎÄÖС£

¡¡¡¡IOC ÈÝÆ÷

¡¡¡¡Spring Éè¼ÆµÄºËÐÄÊÇ org.springframework.beans °ü£¬ËüµÄÉè¼ÆÄ¿±êÊÇÓë JavaBean ×é¼þÒ»ÆðʹÓá£Õâ¸ö°üͨ³£²»ÊÇÓÉÓû§Ö±½ÓʹÓ㬶øÊÇÓÉ·þÎñÆ÷½«ÆäÓÃ×÷ÆäËû¶àÊý¹¦ÄܵĵײãÖн顣ÏÂÒ»¸ö×î¸ß¼¶³éÏóÊÇ BeanFactory ½Ó¿Ú£¬ËüÊǹ¤³§Éè¼ÆģʽµÄʵÏÖ£¬ÔÊÐíͨ¹ýÃû³Æ´´½¨ºÍ¼ìË÷¶ÔÏó¡£BeanFactory Ò²¿ÉÒÔ¹ÜÀí¶ÔÏóÖ®¼äµÄ¹Øϵ¡£

¡¡¡¡BeanFactory Ö§³ÖÁ½¸ö¶ÔÏóÄ£ÐÍ¡£

¡¡¡¡¡õ µ¥Ì¬ Ä£ÐÍÌṩÁ˾ßÓÐÌض¨Ãû³ÆµÄ¶ÔÏóµÄ¹²ÏíʵÀý£¬¿ÉÒÔÔÚ²éѯʱ¶ÔÆä½øÐмìË÷¡£Singleton ÊÇĬÈϵÄÒ²ÊÇ×î³£ÓõĶÔÏóÄ£ÐÍ¡£¶ÔÓÚÎÞ״̬·þÎñ¶ÔÏóºÜÀíÏë¡£

¡¡¡¡¡õ Ô­ÐÍ Ä£ÐÍÈ·±£Ã¿´Î¼ìË÷¶¼»á´´½¨µ¥¶ÀµÄ¶ÔÏó¡£ÔÚÿ¸öÓû§¶¼ÐèÒª×Ô¼ºµÄ¶ÔÏóʱ£¬Ô­ÐÍÄ£ÐÍ×îÊʺϡ£

¡¡¡¡bean ¹¤³§µÄ¸ÅÄîÊÇ Spring ×÷Ϊ IOC ÈÝÆ÷µÄ»ù´¡¡£IOC ½«´¦ÀíÊÂÇéµÄÔðÈδÓÓ¦ÓóÌÐò´úÂëתÒƵ½¿ò¼Ü¡£ÕýÈçÎÒ½«ÔÚÏÂÒ»¸öʾÀýÖÐÑÝʾµÄÄÇÑù£¬Spring ¿ò¼ÜʹÓà JavaBean ÊôÐÔºÍÅäÖÃÊý¾ÝÀ´Ö¸³ö±ØÐëÉèÖõÄÒÀÀµ¹Øϵ¡£
BeanFactory ½Ó¿Ú

¡¡¡¡ÒòΪ org.springframework.beans.factory.BeanFactory ÊÇÒ»¸ö¼òµ¥½Ó¿Ú£¬ËùÒÔ¿ÉÒÔÕë¶Ô¸÷Öֵײã´æ´¢·½·¨ÊµÏÖ¡£×î³£ÓÃµÄ BeanFactory ¶¨ÒåÊÇ XmlBeanFactory£¬Ëü¸ù¾Ý XML ÎļþÖеĶ¨Òå×°Èë bean£¬ÈçÇåµ¥ 1 Ëùʾ¡£

¡¡¡¡Çåµ¥ 1. XmlBeanFactory

BeanFactory factory = new XMLBeanFactory(new FileInputSteam("mybean.xml")); 
¡¡
¡¡¡¡ÔÚ XML ÎļþÖж¨ÒåµÄ Bean ÊDZ»Ïû¼«¼ÓÔصģ¬ÕâÒâζÔÚÐèÒª bean ֮ǰ£¬bean ±¾Éí²»»á±»³õʼ»¯¡£Òª´Ó BeanFactory ¼ìË÷ bean£¬Ö»Ðèµ÷Óà getBean() ·½·¨£¬´«È뽫Ҫ¼ìË÷µÄ bean µÄÃû³Æ¼´¿É£¬ÈçÇåµ¥ 2 Ëùʾ¡£

¡¡¡¡Çåµ¥ 2. getBean()

MyBean mybean = (MyBean) factory.getBean("mybean"); 

¡¡¡¡Ã¿¸ö bean µÄ¶¨Ò嶼¿ÉÒÔÊÇ POJO £¨ÓÃÀàÃûºÍ JavaBean ³õʼ»¯ÊôÐÔ¶¨Ò壩 »ò FactoryBean¡£FactoryBean ½Ó¿ÚΪʹÓà Spring ¿ò¼Ü¹¹½¨µÄÓ¦ÓóÌÐòÌí¼ÓÁËÒ»¸ö¼ä½ÓµÄ¼¶±ð¡£

¡¡¡¡IOC ʾÀý

¡¡¡¡Àí½â¿ØÖÆ·´×ª×î¼òµ¥µÄ·½Ê½¾ÍÊÇ¿´ËüµÄʵ¼ÊÓ¦Óá£ÔÚ¶ÔÓÉÈý²¿·Ö×é³ÉµÄ Spring ϵÁÐ µÄµÚ 1 ²¿·Ö½øÐÐ×ܽáʱ£¬ÎÒʹÓÃÁËÒ»¸öʾÀý£¬ÑÝʾÁËÈçºÎͨ¹ý Spring IOC ÈÝÆ÷×¢ÈëÓ¦ÓóÌÐòµÄÒÀÀµ¹Øϵ£¨¶ø²»Êǽ«ËüÃǹ¹½¨½øÀ´£©¡£

¡¡¡¡ÎÒÓÿªÆôÔÚÏßÐÅÓÃÕÊ»§µÄÓÃÀý×÷ΪÆðµã¡£¶ÔÓÚ¸ÃʵÏÖ£¬¿ªÆôÐÅÓÃÕÊ»§ÒªÇóÓû§ÓëÒÔÏ·þÎñ½øÐн»»¥£º 

¡¡¡¡¡î ÐÅÓü¶±ðÆÀ¶¨·þÎñ£¬²éѯÓû§µÄÐÅÓÃÀúÊ·ÐÅÏ¢¡£

¡¡¡¡¡î Ô¶³ÌÐÅÏ¢Á´½Ó·þÎñ£¬²åÈë¿Í»§ÐÅÏ¢£¬½«¿Í»§ÐÅÏ¢ÓëÐÅÓÿ¨ºÍÒøÐÐÐÅÏ¢Á¬½ÓÆðÀ´£¬ÒÔ½øÐÐ×Ô¶¯½è¼Ç£¨Èç¹ûÐèÒªµÄ»°£©¡£

¡¡¡¡¡î µç×ÓÓʼþ·þÎñ£¬ÏòÓû§·¢ËÍÓйØÐÅÓÿ¨×´Ì¬µÄµç×ÓÓʼþ¡£

¡¡¡¡Èý¸ö½Ó¿Ú

¡¡¡¡¶ÔÓÚÕâ¸öʾÀý£¬ÎÒ¼ÙÉè·þÎñÒѾ­´æÔÚ£¬ÀíÏëµÄÇé¿öÊÇÓÃËÉÉ¢ñîºÏµÄ·½Ê½°ÑËüÃǼ¯³ÉÔÚÒ»Æð¡£ÒÔÏÂÇåµ¥ÏÔʾÁËÈý¸ö·þÎñµÄÓ¦ÓóÌÐò½Ó¿Ú¡£

¡¡¡¡Çåµ¥ 3. CreditRatingInterface

public interface CreditRatingInterface {
¡¡public boolean getUserCreditHistoryInformation(ICustomer iCustomer);


¡¡¡¡Çåµ¥ 3 ËùʾµÄÐÅÓü¶±ðÆÀ¶¨½Ó¿ÚÌṩÁËÐÅÓÃÀúÊ·ÐÅÏ¢¡£ËüÐèÒªÒ»¸ö°üº¬¿Í»§ÐÅÏ¢µÄ Customer ¶ÔÏ󡣸ýӿڵÄʵÏÖÊÇÓÉ CreditRating ÀàÌṩµÄ¡£

¡¡¡¡Çåµ¥ 4. CreditLinkingInterface

public interface CreditLinkingInterface {
¡¡public String getUrl();
¡¡public void setUrl(String url);
¡¡public void linkCreditBankAccount() throws Exception ;


¡¡¡¡ÐÅÓÃÁ´½Ó½Ó¿Ú½«ÐÅÓÃÀúÊ·ÐÅÏ¢ÓëÒøÐÐÐÅÏ¢£¨Èç¹ûÐèÒªµÄ»°£©Á¬½ÓÔÚÒ»Æ𣬲¢²åÈëÓû§µÄÐÅÓÿ¨ÐÅÏ¢¡£ÐÅÓÃÁ´½Ó½Ó¿ÚÊÇÒ»¸öÔ¶³Ì·þÎñ£¬ËüµÄ²éѯÊÇͨ¹ý getUrl() ·½·¨½øÐеġ£URL ÓÉ Spring ¿ò¼ÜµÄ bean ÅäÖûúÖÆÉèÖã¬ÎÒÉÔºó»áÌÖÂÛËü¡£¸Ã½Ó¿ÚµÄʵÏÖÊÇÓÉ CreditLinking ÀàÌṩµÄ¡£

¡¡¡¡Çåµ¥ 5. EmailInterface

public interface EmailInterface {

¡¡public void sendEmail(ICustomer iCustomer);
¡¡public String getFromEmail();
¡¡public void setFromEmail(String fromEmail) ;
¡¡public String getPassword();
¡¡public void setPassword(String password) ;
¡¡public String getSmtpHost() ;
¡¡public void setSmtpHost(String smtpHost);
¡¡public String getUserId() ;
¡¡public void setUserId(String userId);



¡¡¡¡EmailInterface ¸ºÔðÏò¿Í»§·¢Ë͹ØÓÚ¿Í»§ÐÅÓÿ¨×´Ì¬µÄµç×ÓÓʼþ¡£ÓʼþÅäÖòÎÊý£¨ÀýÈç SMPT Ö÷»ú¡¢Óû§Ãû¡¢¿ÚÁÓÉÇ°ÃæÌáµ½µÄ bean ÅäÖûúÖÆÉèÖá£Email ÀàÌṩÁ˸ýӿڵÄʵÏÖ¡£

¡¡¡¡Spring ʹÆä±£³ÖËÉÉ¢

¡¡¡¡ÕâЩ½Ó¿Ú¾Íλ֮ºó£¬½ÓÏÂÀ´Òª¿¼ÂǵľÍÊÇÈçºÎÓÃËÉÉ¢ñîºÏ·½Ê½½«ËüÃǼ¯³ÉÔÚÒ»Æð¡£ÔÚÇåµ¥6ÖпÉÒÔ¿´µ½ÐÅÓÿ¨ÕÊ»§ÓÃÀýµÄʵÏÖ¡£

¡¡¡¡×¢Ò⣬ËùÓÐµÄ setter ·½·¨¶¼ÊÇÓÉ Spring µÄÅäÖà bean ʵÏֵġ£ËùÓеÄÒÀÀµ¹Øϵ£¨Ò²¾ÍÊÇÈý¸ö½Ó¿Ú£©¶¼¿ÉÒÔÓÉ Spring ¿ò¼ÜÓÃÕâЩ bean ×¢Èë¡£createCreditCardAccount() ·½·¨»áÓ÷þÎñÈ¥Ö´ÐÐÆäÓàʵÏÖ¡£ÔÚÇåµ¥7ÖпÉÒÔ¿´µ½ Spring µÄÅäÖÃÎļþ¡£ÎÒÓüýÍ·Í»³öÁËÕâЩ¶¨Òå¡£

¡¡¡¡ÔËÐÐÓ¦ÓóÌÐò

¡¡¡¡ÒªÔËÐÐʾÀýÓ¦ÓóÌÐò£¬Ê×ÏȱØÐë ÏÂÔØ Spring ¿ò¼Ü ¼°ÆäËùÓÐÒÀÀµÎļþ¡£½ÓÏÂÀ´£¬½«¿ò¼ÜÊͷŵ½£¨±ÈÈç˵£©´ÅÅÌ c:\£¬Õâ»á´´½¨ C:\spring-framework-1.2-rc2 £¨ÊÊÓÃÓÚµ±Ç°·¢Ðа汾£© ÕâÑùµÄÎļþ¼Ð¡£ÔÚ¼ÌÐøºóÃæµÄ²Ù×÷֮ǰ£¬»¹±ØÐëÏÂÔغÍÊÍ·Å Apache Ant¡£

¡¡¡¡½ÓÏÂÀ´£¬½«Ô´´úÂëÊͷŵ½Îļþ¼Ð£¬ÀýÈç c:\ ÅÌ£¬È»ºó´´½¨ SpringProject¡£½« Spring ¿â£¨¼´ C:\spring-framework-1.2-rc2\dist Ï嵀 spring.jar ºÍ C:\spring-framework-1.2-rc2\lib\jakarta-commons Ï嵀 commons-logging.jar£©¸´ÖƵ½ SpringProject\lib Îļþ¼ÐÖС£Íê³ÉÕâЩ¹¤×÷Ö®ºó£¬¾ÍÓÐÁ˱ØÐèµÄ¹¹½¨ÒÀÀµ¹Øϵ¼¯¡£

¡¡¡¡´ò¿ªÃüÁîÌáʾ·û£¬½«µ±Ç°Ä¿Â¼Çл»µ½ SpringProject£¬ÔÚÃüÁîÌáʾ·ûÖÐÊäÈëÒÔÏÂÃüÁbuild¡£ 

¡¡¡¡Õâ»á¹¹½¨²¢ÔËÐÐ CreateCreditAccountClient À࣬ÀàµÄÔËÐн«´´½¨ Customer Àà¶ÔÏó²¢Ìî³äËü£¬»¹»áµ÷Óà CreateCreditCardAccount Àà´´½¨²¢Á´½ÓÐÅÓÿ¨ÕÊ»§¡£CreateCreditAccountClient »¹»áͨ¹ý ClassPathXmlApplicationContext ×°Èë Spring ÅäÖÃÎļþ¡£×°Èë bean Ö®ºó£¬¾Í¿ÉÒÔͨ¹ý getBean() ·½·¨·ÃÎÊËüÃÇÁË£¬ÈçÇåµ¥ 8 Ëùʾ¡£

¡¡¡¡Çåµ¥ 8. ×°Èë Spring ÅäÖÃÎļþ

¡¡¡¡ClassPathXmlApplicationContext appContext = 
new ClassPathXmlApplicationContext(new String[] {
"springexample-creditaccount.xml"
});

¡¡¡¡CreateCreditCardAccountInterface creditCardAccount = 
(CreateCreditCardAccountInterface)
appContext.getBean("createCreditCard");

¡¡¡¡½áÊøÓï

¡¡¡¡ÔÚÕâƪÓÉÈý²¿·Ö×é³ÉµÄ Spring ϵÁÐ µÄµÚһƪÎÄÕÂÖУ¬ÎÒ½éÉÜÁË Spring ¿ò¼ÜµÄ»ù´¡¡£ÎÒ´ÓÌÖÂÛ×é³É Spring ·Ö²ã¼Ü¹¹µÄ 7 ¸öÄ£¿é¿ªÊ¼£¬È»ºóÉîÈë½éÉÜÁËÆäÖÐÁ½¸öÄ£¿é£ºSpring AOP ºÍ IOC ÈÝÆ÷¡£

¡¡¡¡ÓÉÓÚѧϰµÄ×î¼Ñ·½·¨ÊÇʵ¼ù£¬ËùÒÔÎÒÓÃÒ»¸ö¹¤×÷ʾÀý½éÉÜÁË IOC ģʽ £¨Ïñ Spring µÄ IOC ÈÝÆ÷ʵÏÖµÄÄÇÑù£©ÈçºÎÓÃËÉÉ¢ñîºÏµÄ·½Ê½½«·ÖÉ¢µÄϵͳ¼¯³ÉÔÚÒ»Æð¡£ÔÚÕâ¸öʾÀýÖпÉÒÔ¿´µ½£¬½«ÒÀÀµ¹Øϵ»ò·þÎñ×¢È빤×÷ÖеÄÐÅÓÿ¨ÕÊ»§Ó¦ÓóÌÐò£¬Òª±È´ÓÍ·¿ªÊ¼¼¹¹½¨ËüÃÇÈÝÒ׵öࡣ

¡¡


°æȨËùÓУºUMLÈí¼þ¹¤³Ì×éÖ¯