¡¶SpringÔ´´úÂëÉî²ã½âÎö¡·²»µ«Ïêϸ½éÉÜÁËÓ¦ÓÃSpring¼Ü¹¹¿ª·¢Éè¼ÆÐÂÏîÄ¿Îñ±Ø°ÑÎյĹؼü¶¨Ò壬»¹¾ßÌåÖ¸µ¼ÔĶÁÕßÔõôʹÓÃSpring¼Ü¹¹×«Ð´ÆóÒµ¼¶Ó¦Ó㬲¢¶ÔÓÚÔÚ׫дԴ´úÂëµÄ»·½ÚÖÐÔõôÌáÉý±àÂ룬ÔõÑù´Ùʹ±àÂë¸ßЧÂʵóöÐÐÖ®ÓÐЧµÄÌáÒ飬½ø¶øÐÖú´ó¼ÒÈ«·½Î»Ìá¸ßʵսÑÝÁ·¹¤×÷ÄÜÁ¦¡£ ¡¶SpringÔ´´úÂëÉî²ã½âÎö¡·ÓïÑÔ±í´ï¼òÔ¼£¬ÊµÀý·á¸»¶à²Ê£¬¿ÉÐÖúÔĶÁÕß¿ìËÙ°ÑÎÕÓ¦ÓÃSpring¿ªÕ¹¿ª·¢Éè¼ÆÐèÒªµÄ¸÷ÖÖ¸÷Ñùרҵ¼¼ÄÜ¡£¡¶SpringÔ´´úÂëÉî²ã½âÎö¡·ÊÊÓÃÓÚÒÑÓÐÒ»¶¨Java±à³Ì»ù´¡µÄÔĶÁÕߣ¬¼°ÆäÔÚJava·þÎñƽ̨Ï¿ªÕ¹¸÷ÖÖ¿ª·¢Èí¼þµÄ¿ª·¢Õߣ¬²âÊÔ¹¤³ÌʦµÈ¡£
springÔ´´úÂëÉî²ã½âÎöÎļþĿ¼
µÚÒ»²¿·Ö¡¡¹Ø¼üÍê³ÉµÚ1Õ¡¡Spring×ÜÌå¹¹¼ÜºÍ×ÔÈ»»·¾³¹¹½¨¡¡21.1¡¡SpringµÄ×ÜÌå¹¹¼Ü¡¡21.2¡¡×ÔÈ»»·¾³¹¹½¨¡¡41.2.1¡¡°²ÑbGitHub¡¡41.2.2¡¡°²ÑbGradle¡¡51.2.3¡¡Ãâ·ÑÏÂÔØSpring¡¡6µÚ2Õ¡¡Æ÷ÃóµÄ»ù±¾ÉÏÍê³É¡¡102.1¡¡Æ÷Ãó»ù±¾ÉÏʹÓ÷½·¨¡¡102.2¡¡¹¦ÄÜÉè¼Æ¡¡112.3¡¡¹¤³ÌÏîÄ¿¹¹½¨¡¡122.4¡¡SpringµÄ¼Ü¹¹¹¹³É¡¡132.4.1¡¡beans°üµÄµÈ¼¶¹¹Ôì¡¡132.4.2¡¡¹Ø¼üÀàÏêϸ½éÉÜ¡¡132.5¡¡Æ÷ÃóµÄ»ù±¾XmlBeanFactory¡¡172.5.1¡¡»·¾³±äÁ¿·âÑb¡¡182.5.2¡¡ÔØÈëBean¡¡212.6¡¡»ñµÃXMLµÄÈÏÖ¤·½Ê½¡¡242.6.1¡¡DTDÓëXSD²î±ð¡¡242.6.2¡¡ÈÏÖ¤·½Ê½µÄÔØÈë¡¡262.7¡¡»ñµÃDocument¡¡282.7.1¡¡EntityResolverʹÓ÷½·¨¡¡292.8¡¡½âÎö¼°×¢²áBeanDefinitions¡¡312.8.1¡¡profileÊôÐÔµÄÓ¦Óá¡322.8.2¡¡½âÎö²¢×¢²áBeanDefinition¡¡33µÚ3Õ¡¡Ä¬ÈÏÉèÖñêʶµÄ½âÎö¡¡353.1¡¡bean±êʶµÄ½âÎö¼°×¢²á¡¡353.1.1¡¡½âÎöBeanDefinition¡¡373.1.2¡¡AbstractBeanDefinitionÊôÐÔ¡¡553.1.3¡¡½âÎöĬÈÏÉèÖñêʶÖеÄ×Ô¶¨Òå±êÇ©ÔËØ¡¡583.1.4¡¡×¢²á½âÎöµÄBeanDefinition¡¡603.1.5¡¡Í¨¸æÇÔÌýÆ÷½âÎö¼°×¢²á½øÐС¡633.2¡¡alias±êʶµÄ½âÎö¡¡633.3¡¡import±êʶµÄ½âÎö¡¡653.4¡¡ÄÚǶʽbeans±êʶµÄ½âÎö¡¡67µÚ4Õ¡¡×Ô¶¨Òå±êÇ©µÄ½âÎö¡¡684.1¡¡×Ô¶¨Òå±êÇ©Ó¦Óá¡694.2¡¡×Ô¶¨Òå±êÇ©½âÎö¡¡714.2.1¡¡»ñµÃ±êʶµÄÀàÃû¡¡724.2.2¡¡»ñÈ¡×Ô¶¨Òå±êÇ©CPU¡¡724.2.3¡¡±êʶ½âÎö¡¡74µÚ5Õ¡¡beanµÄÔØÈë¡¡785.1¡¡FactoryBeanµÄÓ¦Óá¡835.2¡¡»º´æÎļþÖлñµÃµ¥Àýģʽbean¡¡855.3¡¡´ÓbeanµÄ°¸ÀýÖлñµÃÄ¿±ê¡¡865.4¡¡»ñµÃµ¥Àýģʽ¡¡905.5¡¡ÌáÇ°×¼±¸´´½¨bean¡¡925.5.1¡¡½â¾öovverrideÊôÐÔ¡¡935.5.2¡¡´´½¨¶ÔÏóµÄÍâÖýâ¾ö¡¡945.6¡¡Ñ»·ÏµÍ³ÒÀ¿¿¡¡965.6.1¡¡Ê²Ã´½ÐÑ»·ÏµÍ³ÒÀ¿¿¡¡965.6.2¡¡SpringÈçºÎ½â¾öÑ»·ÏµÍ³ÒÀ¿¿¡¡965.7¡¡´´½¨bean¡¡1005.7.1¡¡´´½¨beanµÄ°¸Àý¡¡1035.7.2¡¡¼Í¼´´½¨beanµÄObjectFactory¡¡1125.7.3¡¡ÊôÐÔÒýÈë¡¡1155.7.4¡¡¸´Î»bean¡¡1245.7.5¡¡×¢²áDisposableBean¡¡128µÚ6Õ¡¡Æ÷ÃóµÄ¹¦ÄÜÐÔÍØÕ¹¡¡1296.1¡¡É趨Å䱸;¾¶¡¡1306.2¡¡ÍØÕ¹×÷Óá¡1306.3¡¡×ÔÈ»»·¾³ÌáÇ°×¼±¸¡¡1326.4¡¡ÔØÈëBeanFactory¡¡1336.4.1¡¡¶©ÖÆBeanFactory¡¡1356.4.2¡¡ÔØÈëBeanDefinition¡¡1366.5¡¡×÷ÓÃÍØÕ¹¡¡1376.5.1¡¡ÌáÉýSPELÓïÑÔ±í´ïµÄÊÊÓá¡1386.5.2¡¡ÌáÉýÊôÐÔ×¢²áÔÚÏß±à¼Æ÷¡¡1396.5.3¡¡¼ÓÉÏApplicationContext AwareProcessorCPU¡¡1446.5.4¡¡É趨ºöÊÓÒÀ¿¿¡¡1466.5.5¡¡×¢²áÒÀ¿¿¡¡1466.6¡¡BeanFactoryµÄºó´¦Àí¹¤ÒÕ¡¡1466.6.1¡¡¼¤»°×¢²áµÄBeanFactory PostProcessor¡¡1476.6.2¡¡×¢²áBeanPostProcessor¡¡1536.6.3¡¡¸´Î»ÐÅÏ¢ÙYÔ´¡¡1566.6.4¡¡¸´Î»ApplicationEvent Multicaster¡¡1596.6.5¡¡×¢²áÇÔÌýÆ÷¡¡1616.7¡¡¸´Î»·ÇÑÓ³Ùʱ¼äÔØÈëµ¥Àýģʽ¡¡1626.8¡¡finishRefresh¡¡165µÚ7Õ¡¡AOP¡¡1677.1¡¡¶¯Ì¬ÐÔAOPÓ¦ÓÃʵÀý¡¡1677.2¡¡¶¯Ì¬ÐÔAOP×Ô¶¨Òå±êÇ©¡¡1697.2.1¡¡×¢²áAnnotationAwareAspectJ AutoProxyCreator¡¡1707.3¡¡´´½¨AOP´úÀíÉÌ¡¡1737.3.1¡¡»ñµÃÔöÇ¿Æ÷¡¡1767.3.2¡¡ÕÒÑ°´îÅäµÄÔöÇ¿Æ÷¡¡1867.3.3¡¡´´½¨´úÀíÉÌ¡¡1877.4¡¡¾²Ì¬Êý¾ÝAOPÓ¦ÓÃʵÀý¡¡2017.5¡¡´´½¨AOP¾²Ì¬´úÀí¡¡2037.5.1¡¡InstrumentationÓ¦Óá¡2037.5.2¡¡×Ô¶¨Òå±êÇ©¡¡2077.5.3¡¡Ö¯Èë¡¡209µÚ¶þÒ»²¿·Ö¡¡¹«Ë¾Ê¹ÓõÚ8Õ¡¡Á¬½ÓÊý¾Ý¿âJDBC¡¡2148.1¡¡SpringÊý¾Ý¿âÁ¬½Ó³ÌÐò´úÂë(JDBC)¡¡2158.2¡¡save/update×÷ÓõÄÍê³É¡¡2178.2.1¡¡»ù±¾·½Ê½execute¡¡2198.2.2¡¡UpdateÖеĵ÷Óú¯Êý¡¡2238.3¡¡query×÷ÓõÄÍê³É¡¡2258.4¡¡queryForObject¡¡229µÚ9Õ¡¡ÈÚºÏMyBatis¡¡2319.1¡¡MyBatisµ¥¶ÀÓ¦Óá¡2319.2¡¡SpringÈÚºÏMyBatis¡¡2359.3¡¡Ô´´úÂëÆÊÎö¡¡2379.3.1¡¡sqlSessionFactory´´½¨¡¡2379.3.2¡¡MapperFactoryBeanµÄ´´½¨¡¡2419.3.3¡¡MapperScannerConfigurer¡¡244µÚ10Õ¡¡ÊÂÎñ¹ÜÀí¡¡25410.1¡¡JDBC·½·¨ÏµÄÊÂÎñ¹ÜÀíÓ¦Óà ʵÀý¡¡25410.2¡¡ÊÂÎñ¹ÜÀí×Ô¶¨Òå±êÇ©¡¡25710.2.1¡¡×¢²áInfrastructureAdvisor AutoProxyCreator¡¡25710.2.2¡¡»ñµÃÏàÆ¥Åäclass/methodµÄÔöÇ¿Æ÷¡¡26110.3¡¡ÊÂÎñ¹ÜÀíÔöÇ¿Æ÷¡¡26910.3.1¡¡´´½¨ÊÂÎñ¹ÜÀí¡¡27110.3.2¡¡»ØÍ˽â¾ö¡¡28110.3.3¡¡ÊÂÎñ¹ÜÀíµÝ½»¡¡287µÚ11Õ¡¡SpringMVC¡¡29111.1¡¡SpringMVCѸËÙ¸ÐÊÜ¡¡29111.2¡¡ContextLoaderListener¡¡29511.2.1¡¡ServletContextListenerµÄÓ¦Óá¡29511.2.2¡¡SpringÖеÄContextLoader Listener¡¡29611.3¡¡DispatcherServlet¡¡30011.3.1¡¡servletµÄÓ¦Óá¡30111.3.2¡¡DispatcherServletµÄ¸´Î»¡¡30211.3.3¡¡WebApplicationContextµÄ¸´Î»¡¡30411.4¡¡DispatcherServletµÄÂß¼ÐÔ½â¾ö¡¡32011.4.1¡¡MultipartContentÖÖÀàµÄrequest½â¾ö¡¡32611.4.2¡¡ÒÀ¾ÝrequestÐÅÏ¢ÄÚÈÝÕÒÑ°ÏàÆ¥ÅäµÄHandler¡¡32711.4.3¡¡Ã»ÕÒµ½ÏàÆ¥ÅäµÄHandlerµÄ´¦Àí´íÎó¡¡33111.4.4¡¡ÒÀ¾Ýµ±½ñHandlerÕÒÑ°ÏàÆ¥ÅäµÄHandlerAdapter¡¡33111.4.5¡¡»º´æÎļþ½â¾ö¡¡33211.4.6¡¡HandlerInterceptorµÄ½â¾ö¡¡33311.4.7¡¡Âß¼ÐÔ½â¾ö¡¡33411.4.8¡¡³öÏÖÒì³£Ö÷ÊÓͼµÄ½â¾ö¡¡33411.4.9¡¡ÒÀ¾ÝÖ÷ÊÓͼҳÃæÌøת¡¡335µÚ12Õ¡¡Ô¶³Ì·þÎñ¡¡34012.1¡¡RMI¡¡34012.1.1¡¡Ó¦ÓÃʵÀý¡¡34012.1.2¡¡·þÎñÆ÷¶ËÍê³É¡¡34212.1.3¡¡ÊÖ»ú¿Í»§¶ËÍê³É¡¡35012.2¡¡HttpInvoker¡¡35512.2.1¡¡Ó¦ÓÃʵÀý¡¡35612.2.2¡¡·þÎñÆ÷¶ËÍê³É¡¡35712.2.3¡¡ÊÖ»ú¿Í»§¶ËÍê³É¡¡361µÚ13Õ¡¡SpringÐÅÏ¢¡¡36713.1¡¡JMSµÄµ¥¶ÀÓ¦Óá¡36713.2¡¡SpringÈÚºÏActiveMQ¡¡36913.3¡¡Ô´´úÂëÆÊÎö¡¡37113.3.1¡¡JmsTemplate¡¡37213.3.2¡¡ÇÔÌýÆ÷Æ÷Ãó¡¡376
VIP½âÎöÓ¦ÓóÌÐòÊÇÒ»¸öÔÚÏß½âÎö²¥·ÅÆ÷£¬¿ÉÒÔ½âÎöÖ÷ÒªÊÓƵÍøÕ¾µÄVIPÊÓƵ¡£VIP½âÎöÓ¦ÓóÌÐòÊäÈëÊÓƵµØÖ·£¬VIP½âÎöÈí¼þ¿ÉÒÔ½âÎöVIPÊÓƵ£¬VIP½âÎö¹¤¾ß¸ßÇåÌåÑ飬¿ìËٻطţ¬Ö§³Ö¶à¸öÊÓƵÍøÕ¾£¬VIPÊÓƵ½âÎöAndroid°æÒ²Ö§³ÖÊÓƵÅúÁ¿»º´æµ½±¾µØ¡£VIPÊÓƵ·ÖÎöÈí¼þ¿ÉÒÔΪÄúרעÓÚÕû¸öÍøÂçµÄ×î¼ÑÄÚÈÝ£¬²¢Ìṩ´óÁ¿¸ßÇåÊÓƵ£¬ÈçµçÓ°¡¢µçÊӾ硢×ÛÒÕµÈÔÚÏß¹Û¿´¡£»¶ÓÏÂÔØ¡£¶àÌØÊÖÓÎרÌâΪÄúÌṩvip½âÎöapp,È«ÄÜvipÊÓƵ½âÎöapp¡£°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£
¶àÌØÈí¼þרÌâΪÄúÌṩjson½âÎö¹¤¾ß,jsonÔÚÏß½âÎö¹¤¾ß,json½âÎö¹¤¾ß°²×¿°æ;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
ÖÐÇï½Ú¿ìµ½ÁË£¬¶àÌØÆ»¹ûС±àÔÚÕâÀï×£ÄãÖÐÇï¿ìÀÖ¡£ÃÀÀöµÄ·ç¾°Ò²ÐèҪһЩӦÓóÌÐò£¡¶àÌØÆ»¹ûΪÄúÊÕ¼¯ÁËһЩ¹ØÓÚÖÐÇï½ÚµÄÓ¦ÓóÌÐò£¬ÈçÖÐÇïµÆÃÕ¡¢ÖÐÇï·çÇéÈ«¼¯¡¢ÖÐÇï×£¸£¶ÌÐÅ¡¢ÖÐÇïÐÄ¿¨µÈ¡£Ò²ÐíÄã¿ÉÒÔÔÚÖÐÇï½ÚÓÃËüÃÇ£¿¶àÌØÊÖÓÎרÌâΪÄúÌṩÖÐÇïapp,ÖÐÇï½Ú±Ø±¸App¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«Èí¼þÏÂÔØ¡£
ÊÖ»úÈ«ÍøvipÊÓƵ½âÎöÈí¼þÊÇÒ»¿îÈ«ÍøvipÊÓƵÆƽâÈí¼þ£¬·Ç³£ºÃÓã¬Ö§³ÖËÑË÷£¬¹¦ÄܺÜÇ¿£¬Èí¼þÊÇÒ×ÓïÑÔ×öµÄ£¬ÄܽâÎö¸÷´óÊÓƵÍøÕ¾vipµçÓ°£¬¾ÍÊÇ¿ÉÒÔÊäÈëÊÓƵÍøÕ¾µÄµØÖ·,¿ÉÒÔÌø¹ý¹ã¸æ¹Û¿´¸ßÇåÊÓƵ¡£
¶àÌØÈí¼þվΪÄúÌṩ×îÐÂ×¢²á±íÈí¼þÈí¼þרÌâ,ÔÚÕâÀﰲ׿°æÆ»¹û°æµÈÓ¦ÓÃÓ¦Óо¡ÓУ¬ÕÒ×îÐÂ×¢²á±íÈí¼þ¾ÍÀ´¶àÌØÈí¼þÕ¾¡£