¡¡¡¡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 ÈÝÆ÷ʵÏÖµÄÄÇÑù£©ÈçºÎÓÃËÉÉ¢ñîºÏµÄ·½Ê½½«·ÖÉ¢µÄϵͳ¼¯³ÉÔÚÒ»Æð¡£ÔÚÕâ¸öʾÀýÖпÉÒÔ¿´µ½£¬½«ÒÀÀµ¹Øϵ»ò·þÎñ×¢È빤×÷ÖеÄÐÅÓÿ¨ÕÊ»§Ó¦ÓóÌÐò£¬Òª±È´ÓÍ·¿ªÊ¼¼¹¹½¨ËüÃÇÈÝÒ׵öࡣ
¡¡
|