观看本文之前,我们先思考一个问题,Spring是如何描述Bean对象的?
Spring是根据BeanDefinition来创建Bean对象,BeanDefinition就是Spring中表示Bean定义。BeanDefinition用来存储Bean的相关信息,主要包括:Bean的属性、是否单例、延迟加载、Bean的名称、构造方法等。
简言之就是Spring通过解析xml然后生成BeanDefinition对象,存储到Map里面。
ok,我们现在来根据源码走一遍BeanDefinition的创建过程。
AbstractApplicationContext#refresh#obtainFreshBeanFactory方法
走到方法里面一共是两个方法。
- refreshBeanFactory:初始化BeanFactory
- getBeanFactory:返回实例化的BeanFactory
走到refreshBeanFactory()方法内部。
方法内部先是做了一个关闭之前创建的BeanFactory。然后创建新的BeanFactory,调用customizeBeanFactory对BeanFactory进行自定义设置。然后就是核心方法loadBeanDefinitions(),这个方法是读取xml文件读取bean的定义。最后赋值到该类的BeanFactory中。
点击查看这个类下的实现方法。
然后走到loadBeanDefinitions(),还是掉用loadBeanDefinitions()方法。
ok,到了这个方法,才开始执行真正的逻辑,通过读取资源载入Bean定义信息。
OK,整一个创建的流程,就走完啦,从解析xml,到封装成BeanDefinition,最后放入map中的核心流程。
方法调用栈
方法调用栈时序图链接:
https://viewer.diagrams.net/index.html?tags={}&highlight=0000ff&edit=_blank&layers=1&nav=1&page-id=C1lZVwBWBivODLPyhwKg&title=JVM(2)(5)(1).drawio#R%3Cmxfile%20pages%3D%2213%22%3E%3Cdiagram%20name%3D%22%E7%AC%AC%201%20%E9%A1%B5%22%20id%3D%22-cb5Gx7PJG9Mc2EnYWt2%22%3E7ZtBb5swFMc%2FjY%2BTAjbEHCGh3aXapB56JsENqAQj4ixJP%2F0MMU2ImbpJ0GfIeil5Bgf%2F%2Fs%2F4%2FU2L8GJ7fCyjInniMcuQPYuPCC%2BRbVuWR%2BSvKnI6R1xLBTZlGquTLoHn9J2p4ExF92nMdq0TBeeZSIt2cM3znK1FKxaVJT%2B0T3vlWftbi2jDtMDzOsr06Esai6QZl%2BtdGr6zdJOor6b2%2FNywjZqT1Uh2SRTzw1UIhwgvSs7F%2BWh7XLCsgtdwOV%2F38IfWjxsrWS7%2B5oLTW3nCP%2FYFeXwpsLNKfp740zfVy68o26sBq5sVp4ZAyfd5zKpOZggHhyQV7LmI1lXrQWouY4nYZvKTJQ9f0yxb8IyX9bWY1T8yvhMlf2NXLdjFHpadBvowmntipWDHq5Aa1iPjWybKkzxFtdpUIVY55qmPh4tgTSi5koqoWKRSZPPR8YWiPFAg%2FwGq3TPUHhARYhYiPGzerWO2oquh886dmQWV6FBDB%2FlL5FEUuiggKAjqyAMKPBRSFFjItzTwcvSiTTfK0k0uj9eSFZMgg4pRKh%2BSvmrYpnFcXR6UbJe%2BR6u6q0q2gqe5qMfpBMhZVn3tBd%2BdH%2FOWJlDOc3ajpgr18Zjw2nK5ulzzDrnwUHI5nXLRh0ofeeAFyAsr3eQSGrh3rJs7cz7TjX6lbm6HblKlBfJ9FEqtliiQAs4r3Xx6NyoR51OV3K9UaT7FysaeAS8xdApU8fyGKgGm6vVMdQhG0JnXGEKTIBHXNEh9%2B7khIEHPNqtvfwZiPhzHtNzr29MNsX6C516HRxvfAqrlHjjWDi81vintEtOmdIfVGV%2B2aljBs3Wa3oRCY52mOQHHOgJ3gm1gSM33mwRJW6WhM8kegTuBz6RJuBPN9IHn3gjcCXzuTdKdwGOdpjsBn9KTdCfw2drhTjpfR1IP0WX1oov6dcRFMiPo%2FbyXtG4NEPSLSXsSBuh2VSTQuyB23wbICF9JoHdBmmlgUkWmQYLOPTwCywQPqW%2FLNAQk8OnWd20%2FxKMeHNLAlTqMAYLHOokN79tKHR7rNOs9aF%2BJp1nvQWNtOjZpAbqF5ECbb2JgvactJ%2BCZNIJ6Dz6TRlDvwUOaZL0Hj3WS9R481o56r3NnVt4VDf%2FvzF5WLOidWWLg31BoOxTQy3rzFDMJklb7QO91OQYWiJoxBodkYIGoQRpuusmPl38rr9uu%2Fjkfh78B%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22_SugJZrRnb5-nyEQGYxC%22%20name%3D%22%E7%AC%AC%202%20%E9%A1%B5%22%3E5Vpdd5owGP41XG6HEBLwsmrXnW09PZsX%2B7iLECFdJC7Gqv31CxCqELV287QKtqeneRLeQJ7nyceLDhxMVzeSzNJbEVPueG68cuDQ8bwe8vXfHFiXAAYGSCSLSwhsgBF7pAZ0DbpgMZ3XGiohuGKzOhiJLKORqmFESrGsN5sIXu91RhJqAaOIcBv9zmKVGhTg3qbiI2VJaroOvaCsmJKqsXmSeUpisdyC4LXjYceDK%2BLAvpNj9V84kEKoZ5tVjaerAeX52FfjWvb74d8DPD27pJk6UczJGv6ZfL2Nfn260pi4%2B8z78p3p6IHwhRl2M2RqXfEgxSKLaR4E6B6XKVN0NCNRXrvUwtNYqqbcVE8Y5wPBhSyuhROU%2F2h8rqT4TbdqcPHJrxCZ2sLLT%2FFoxY1Rqehq76CAY9hsjssNFVOq5FqXTWTPN0oxVgGVcpYb4SFksHRbcwYjRuvJU%2BgXcaXbGrpOy25okUlj7TFTFFKlIhEZ4dcbtL%2BhW%2FfT37T5IsTMkHxPlVqbCYMslKhLoOwz7%2Bgwbfq%2BxEJG9MD9GzEqIhOqDrTD%2FykDSTlR7KF%2Bw2fKqWc59kb35X7LJ6z91nVfbN0Y0TD2d1k39MawsO6rWjRoWBTaFgXuDovi87Yo7CadvttOOv1u0olgO%2BlE3aQT43bS2XuL%2FZAmR65%2F5Ne%2FR1XxpwlXFIarWmltSifcR%2BEj91FBh%2FZR2LL23fhen2OBpZEWGbu5i%2FKqQ82FGxvYrF3WSSc40qFlcqYjFgWwo%2FP10WrwOqSGYM%2BEfShj1boJG1ZZ3UufsN09bNqWbxGboMGmX5UvnU07KVWy6beZTYhbyubBJIY7ovbZV4%2B2qlNHOEsy%2FX%2BkR51qlvo5Jywi%2FMpUTFkclws2nbNHMi5C5ZqYCZapYmRQ30HDPJZeo%2Bflcg0s9jOR0YZUDPSaWvAbzg5CSwq9HUqAZ66EN3mBcAYbMICO3YF16dUD6Gr%2B5Hg5dCmDAuzsaLnqo5Ou%2BpMwolG0a9Ufh8hH7ivP9LjaurYthbIvIRa0ms2wziZsyx5u32kZt5nN5msoH58rm0XbZ75kZOJtfbsLXv8F%3C%2Fdiagram%3E%3Cdiagram%20id%3D%223HVVyE41luBXF9ZPOKGQ%22%20name%3D%22%E7%AC%AC%203%20%E9%A1%B5%22%3E3Vhbc6IwGP01eeyOEEB4BKTd6ezOdqYP3e1bhBTSRuKEeOuv3y8QFLS22lpnt%2Bo45Hy3XL5zUotwPFleSTItfoqMcmQPsiXCI2TbgevAtwZWDeBZBsglyxrI2gC37JkacGDQGcto1XNUQnDFpn0wFWVJU9XDiJRi0Xd7ELxfdUpyugPcpoTvoncsU4VBLS%2FYGL5TlhemtG8PG8OEtM5mJVVBMrHoQDhBtodsvCQIR0hj%2FQ%2BOpRDqTbfWebKMKdd73%2B5rU%2Ffy%2FQnWa5e0VCfKeXFvFdfj8CblF3dPz%2F71fXGTX5iWqNSq3XaawSmYoZCqELkoCU82aCTFrMyozgp1oo3PDyGmAFoAPlKlVqalyEwJgAo14cYKa5Kr3zr%2Bm9sO%2F5h09WC07I1WZtTMVU9w7y4ZqBIzmdJX1t02NJE5Va%2F44UPaZXvjr6iYUJg4jCXlRLF5f8LEMCNf%2Bx1Xo60USklWnXxTwUpVvS%2FbZvY3OgsMjI5gbFhkZMT2j%2BvEg4p4g9MVwTHENVtz3MFBWOfsDuVZHVVT7bTMNL0yJ3xmuufX%2BBF01tphbJ%2BPi4Ipejsldfsv4Gboc%2B%2BBcR4LLmQdix9c%2Fda4KFUHb16AV0qKJ9qxePVrzcY5lYouX%2BfjB%2FhjMtvDfn%2Fgtl8WnZvBSOSg6FwK3mA%2F5Y4Q0886ZPdfkl%2FrfPKLD5Tfj7bP%2Fy%2B%2F28qIP0N%2BtzX%2BI0W%2BiPziPfJrn1Z%2B%2FZSm6UsyO%2FZdxx2cWWZd52vKrLdzmJCdw9yjjM3hMdeP7fWauCiKUeCiZIgCB4V%2Be%2FDJpTb48XoM9hD5Dkp8FCYohFBPx0UDnSMIIBQlDop8FGmbiW4rw1o7xffOx943H2trPtZ75wNOfoCA8doWodA1TqHTPoQ6PgT%2FQKeOrDo1hGAUjYyPP9Img4BpiPywLg%2FWBCVY5%2FftfWvfYhR0uurThnCWl%2FCcQsdTYEik%2BcDgt2JoDBOWZc3tSCv2TMZ1Kk0fI8qQ142QO9K54EKsmrvR2mFeKUq6RVMDnfXPHbfPQ%2BcFHjrWCzx0zs3D2veNH8uttG%2F%2BS4GTvw%3D%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22OrcwUQb7W9XxHKOJm_kC%22%20name%3D%22%E7%AC%AC%204%20%E9%A1%B5%22%3E7Zxtj9o4EMc%2FjV%2BeROIkOC8TYLfqqe2d9qR7ecoSL6QNGIVQ2H76c4LTXezcbVsFSP5mhVYwMQ7ObzzjGT8QOlkd7otks%2FwgUp4Td5QeCJ0S1w19T%2F6vBM9HQeAowaLI0qPIeRE8ZN%2B4Eo6UdJelfHtSsBQiL7PNqXAu1ms%2BL09kSVGI%2FWmxJ5Gf3nWTLLgheJgnuSn9O0vLpZI6Qfhy4R3PFkt1a%2BaOjxdWSVNYtWS7TFKxfyWiM%2BIGxKWHhNCYVLLTF50UQpRvFmsKrw4TnlfPvnmux%2Fve%2FXoF39te8HXZVZ3Rxz%2Ff7%2F74sv6Uf%2F79n7%2Fij%2FRd9Ju60dck36nHrh5Z%2BdxwKMRunfKqElltvF9mJX%2FYJPPq6l4qnpQty1UuPzny7VOW5xORi6L%2BLuX1n5Rvy0J84a%2Bu0ICGNK2bUP8AXpT88J%2BNd36Emt7%2Bey5WvCye5WdVs8uURqguEaqP%2Bxf9akTLV5rlKVmiNHrxveKfIiLLKijdMnQ7ZnhJIp6HSISet1fNU%2F7IHnvTq4IRIkPPZDjzSTQlISOzgMQeieNackfikMwYiR0SOQZn%2BfzLU5hJni3W8v1ccuCSW1xRyqTfi9SFVZam1dfjgm%2Bzb8ljXVWlJRuRrcv6afkx8adVXbtSbI%2Be2zH0YS3WXFMeJbqozQ1PtSMwtWPcoh2039rht2oHu6vUQb4JYxLOKjUJpZoENzX5ESPiv6UmbHhqErSoiVSKCYkiMpOqMSWx1JdxpSYRuymFMTrw31SKYHhKMbZ6zO2OTIgDHB4wqyDSsQbRg4AYdgzxqkgw%2BlWTfRokEy%2FAZNJ1luiqTDBMl9N11qffOQbfx%2BxZXWeKrjqyA%2BlZLbG9TT0LhKLlURbDoGh5mAVCESnOoi4Ek6YVg2Ri%2BCyMftIgsGTkYURmIBSRxvQo1q5lNhd4HKHbRxSKdkVmun1EodgSmbVOmbOQsGk1O8qiWhIQaZzYbe7cUBRHD%2F4wJs9du4K%2FQFsK5zXrdQfe3bsO%2FvpNcUwhKdKuQ5NLMmGuxsTHYDLkQCN0MJnYFWgYFEGsnV2TB4Z9BKHY9fjxmuMIn2IwGfJUgGHtQggmzc8bJBPddoH0E2%2FIS670SBaFSdcxUL9HBUYkizFC99o3dpnpR9k2NrulH99WFD396GGkH72uZxuu6RZRhipnTiY%2BJWmY%2Bm0mOOGeQ91Lm2BtBghjZ20zOXligb1qJ1w4fbXH1idsQuKoNsV31etmeHX10JYmYWytDc6cfOlZH9cHyyAr24MzT971jKKeGkChaJe%2F1UdNIBQbJ2AJRT1wRaF45vRDzygafhFjX8r4zGcD9Yyi4RdBKJ55mrdnFA2%2FCELxzOtJe0bR8IsgFFsO2QGmaPhFjF0TY7uifsMvglC0K%2Bo3%2FCIIRbuifsMvYlBsWmEJRd0vguyWaSacLaGo%2B0UUinblbnS%2FiELRrtyN7hdRKNqVu9F3dIMs7mZ25W70Hd0oFO3K3eg7ulEo2pW70U8EQqFoV%2B7G8IsYy5uZXbkbwy9iUGx%2BsiUUDb8IQtGu3I3hF0Eo2pW7Mfwixs6B0K7cjeEXQSjalbsx%2FCIIRbtyN4ZfBKFoV%2B5G94sgm5pDu3I3ul9EoWhX7kb3iygU7crd6H4RhKLTbDex5JwI49xKjLDfGSEdwQIy5nRGXSdjLgnFOFEFBQrSQZS99UJ12UKI8n9Kqvru5RNdfhApr2r9Fw%3D%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22wDRTaJAWb6luR01DepKv%22%20name%3D%22%E7%AC%AC%205%20%E9%A1%B5%22%3E7ZjbjpswFEW%2Fxo%2BRAIOBR0iYS6WqUqOqnUcSO8EaglPH5NKvr21MAoHRMNU0pWpJFJlt%2B%2Fiyl8wJAE43x3uebrOPDJMcOBY%2BAjgDjhN6rvxVwqkSkG2ENae4kuyLMKc%2FiBEto5YUk12roWAsF3TbFpesKMhStLSUc3ZoN1uxvD3qNl2TjjBfpnlX%2FUqxyIxqo%2FBS8UDoOjNDB45fVWzSurFZyS5LMTs0JJgABwEHHlMAY6C09hdOOWPi1WZ1481xSnK19%2FW%2BVuPe%2FXqA89o5KcQ7xUwJmzx%2FKecf4senySP6HIlvs4lTDbRP89Jsu9kycap94KwsMFFBZNj4kFFB5tt0qWoPEjypZWKTyztbFlc0z6csZ1z3hURfUt8Jzp5JowYiGEKsl6AnQLggxxcXbw9x7Xr994RtiOAneV9HRoaIUw2TuT9cAEOe0bIGW9A3YmqgXp9jv8kU2db48r42wt9r4ypc%2BarrSGw8H1G1jX7XRhj02Oh447bR7bER5XLyMaZ7WVyrIkgCIBcX2CDxQByC2AWJC%2BIYRJIC65M8ZaUeTEEc1Z3ldJv9%2B0LKHjMQWaogfwMEEh9EoYqRhCD09SA%2BCCMQuGqnYB1kwa%2FDXg%2F2nhh66tOHIdKX6sEK0cRTXzfGEw3A0%2B47ZcaOpzcEzwSTYjB4gWyhdusPwIQ9EmC3D6bAWUAN003PNK8NjRS60KAeaGx33NCgIdDMS76ne8Yn1mB07P%2FomMguHICO04MOGjc5%2FpvIsfuNrzH5d%2ByHVs%2Fj5i%2B0P%2BjanyAQIhBbOhdxQXh3znyeWLFu5D3WkIzGrhKZKzKkY6Jtf9vmghXkigkjpTldF%2FJ2KR0mUo%2BV%2F1T%2BoY1MxYZirIbp5a1N5C0BOgNTAxR0AXKsHoDguAEKXzw%2FVJbYch19L1ldMdnpVyGKItvdHqtHiqlvJsyaqgcizevmypejqBrqhYdQl7XhDHEi55kudChFzJbRQmgjvBh4MxWrFKxay5swvunZ5bbR68uUR0GebvvKSyETr%2FE2DiY%2FAQ%3D%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22hh70b5QFpDC6NbvWQIRu%22%20name%3D%22%E7%AC%AC%206%20%E9%A1%B5%22%3E7VxRb5swEP41fpxUbEPMIyS01aap0vLQvVJwEzSCM0KWtL9%2Bhpg12EzpJprAkSpS4XBM7O%2B7892HBSLT1f4uD9fLryLmKcI38R6RGcLYooTKf6Xl5WCZuMqwyJNYNXozzJNXrow3yrpNYr5pNCyESItk3TRGIst4VDRsYZ6LXbPZs0ibd12HC24Y5lGYmtbHJC6Wymo57tuFe54slurWDE8OF1Zh3ViNZLMMY7E7MpEAYQdhsg8R8VFpa37INBeiONmsbrzaT3laTn49r4f73v5%2FB3%2FGnvOs6KhP%2FMBJlH7Lf94%2FfnmYc%2FLZ%2Bx59Ujf6FaZbNe1qyoqXGodcbLOYl53Ibv3dMin4fB1G5dWdZJ60LYtVKs8seficpOlUpCKvvkt49SftmyIXP%2FjRFeIQl8TVEKofwPOC7%2F86eOs9qOnjv%2BNixYv8RZ6rnjFTjFAu4arT3Ru%2FatPyiFlU2ULF6MWfjv8JEdlWgdIthrhjDM%2BJCKUQESEf61VRzJ%2FYU2%2B8yrmBiCE1MQxs5M2Qy1DgIJ8i368st8h3UcCQbyHPMnCW8180wQzTZJHJ40jiwCVufolSItc9T11YJXFcft3P%2BSZ5DZ%2BqrkqWrEWSFdVs2T6yZ2Vf20JsDiu3ZfAhExnXyKNMZ425bpMdjsmOSQs7SL%2FZYbeyg92WdJAHro%2FcoKSJzLl850qT9wQR%2BxRN2PBo4rTQRJJiijwPBZIaM%2BRLvkxKmnjsSgojO7BPksIZHikmo8658Y0J4gDTAzYqEMlEA5GCANHtGMSLQgLDr2r1aZCYUAcmJl2rRBfFBEbosrpWffqtMdg2TM%2FqWim6aGYHxLNalB%2FAqZ3hWUBQbFFoAMdHR9PRocTHFgEFsC8aKALxxZErHgwGiiOXPICgCEnzIBgEJvUoBomJkT%2FC8BMMSfOA4ifj0jwM5QqIZ0HSPKB41rg1DygojlzzABIfx615QPHFFs2jdWMYcxGblXuAmFdZHCRpzK47xAyiWLqsAmOLGB6XrKInUBSGUI27llX6jaIuxABBkQy56DcwgZEOka6L%2FotGOyCYDLmE1xNOG8PAZFwlvC6OQVmBPriE7xmKuhADBcVxlfDGKgdj2wIZ17YFI6ICQbHr%2BvqcmOg5PZRcZcibEIw1C0ZOX%2F%2B8QWKixy4gfkKHrEfoWQEUTLrWI%2FqdFRiqEoysgH7wKzp6hqKueQCps2j7SzrMh2xybCy4PmQ7TRT9IRuF8ZCNdi2rXDK5gZJwdi2SnBMTowgAsix2LXlcdJEDgsmQBQwDEyCxC5KA0dvCrGp74k2cqr%2Bjd6CS4Dc%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%226Tz1yiI1IElaCkeY7t71%22%20name%3D%22%E7%AC%AC%207%20%E9%A1%B5%22%3E7Vtbc9o4FP41ekzGtmxZesTgZqfb7maGnWmzbwILcGssVogA%2BfUr2zK%2BiOYGCeBmJpNYRzfrfN%2B5SFYA7M83N4IuZl95xBLgWNEGwAFwHNuFrvqTSbaFxCdaMBVxpBtVgmH8wLTQ0tJVHLFlo6HkPJHxoikc8zRlY9mQUSH4utlswpPmrAs6ZYZgOKaJKf0WR3KmpTYiVcUfLJ7O9NTY8YuKOS0b65UsZzTi65oIhsBBwIEbCmAAMlnzB%2FYF5%2FLJZmXj%2BabPkkz5pV6LeT%2B9foDd2gVL5ZHGxP7sG7735QPq%2FSN%2FXt3f%2BcPFlZ7oniYrrXatMrktcRB8lUYsG0QNG6xnsWTDBR1ntWvFPCWbyXmiSrZ6nMRJ0ucJF3lfOJlMnPFYyZdS8J%2BsVhOhEfJQvoT8BZiQbPPLxdvPQa29%2FhvG50yKrSqXI3uaEdokHFebxLoiGClZM6txy4ZIE1uTerob%2B0WgqLYal%2BPC6Lw1jAz9AkafjCzrxDBCbHUDRts1YGORcoq6yIWc8SlPaRJW0qAJbNXmC%2BcLDecPJuVWe3i6krwJNtvE8nvW%2FdrxdPGuVjXY6KHzwrYspEpt9V5Z%2Ba5eWfXLS2XHYoXZsh6nidICX4kxe0RdUEclKqZMPtIOH0g7wRIq4%2FvmC58phRxouILPgz8JCD0Q9AD5lD%2F0AYZ7mfaFjlQW0WAHTeJpqp7HCh6mrD7IbDxWYbqnK%2BZxFBVEZMv4gY7y8TKkFzxOZa4lLwDe4DEnoXMI3bmK3HVWPGIxh7uUK%2Bva9aFOIJ6N90vmrWa%2FzfRSG5FPJkvF35fwp8Gi3WpOzT3bO6378rvpvsh7ua%2FX0LknBN3WxtNG%2F6rRTBPR1glRM%2BC7lvUKc3liEpccb5LcxgrVXLJBm7FkyERMky7vERy%2FSQO1rzSSS9uxzOSy5OiZJga2f4m5JWn45msLwif8c166VSxVus%2FSlWM7be%2Fccs6zddptfwr9N3Da0MdHm6QjTtvGJzH0ymZPlU891zQvNJ%2B68M1BeST1u2xMDw0A1cYUEtdvpiQf29RDmOgZRLyl4i%2B27nJW67Z2UJ3JasklZrX%2BqUIk6naIPGJiicpvCm955OB5x5ukI9mrY36RVGmC29k04VBL0%2B%2BhPJHrfBxfH0Y96xSx5ATevbjh8Zt8EEP7sj2aJKzTp5iofdOhI%2Fmeb6CZBwQCAhUiMAgGIAhA6Ga%2Fe2aIUIqXbxcdMtteFmZuG0RIecparNGi96SF3T7cJr5BC7SHFfC8WYENVvS%2FDo9s3md1A6b9kcItD%2F0u3LyJAWT5wcn6O4m6jGh7g94VRMvbpHvjb9dBbUfhzoC659poPQyrvTO2P8Lws8OwC2EXwrBtHvHf2Ab6B9k3HrP99j3Cnuu9t31jp4kjdMx0yt%2BDo23D8wbSvPjx702%2Fy0gS2E0kHdf01A5KMvc7Ug9TmU9SCCY8P9epAEb%2FrXhZcVW41J5qYOPFpuim63cDqRhAwuxsLnvogyAEIQJEhQEEQgJIADDKqwjoYRD6WXjA%2BdEeUQED715MtN9Maad4OUNcW8RHkGlS2mtReleuJx%2FeHk677x1l8rZP%2FMdNeVhY%2Fa8TDP8H%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22uh1tqadv0flCqOQ9_13W%22%20name%3D%22%E7%AC%AC%208%20%E9%A1%B5%22%3E7VtRb6M4EP41fmwENjbmEdK0K632dFKlO91T5YKTcEviiDhNur%2F%2BbGISwERpV7mEUlClmrGxDfN9M2OPA9B4sXvM2Wr%2BQyQ8A9BJdgDdAwhd5Hjqn5a87SW%2BvtOCWZ4mptFR8JT%2B4kboGOkmTfi61lAKkcl0VRfGYrnksazJWJ6Lbb3ZVGT1UVdsxi3BU8wyW%2Fp3msi5kbokOFZ84%2Blsboam0N9XLFjZ2LzJes4Ssa2I0ARAAiDaMYAioGX1PzTOhZBnm5WNF7sxz%2FTHL7%2FrftyH3%2B%2Fg8O45X8oL9Tl%2BXt2xn%2F%2FGP5w%2F0Pfwn2fv%2Ba%2F8zgz0yrKN%2Bezmk8m3Ug%2B52CwTrjtR3UbbeSr504rFunarkKdkc7nI1J2ritM0y8YiE3nxLOLFpeRrmYufvFKDCApQUrxCMQGeS747%2BfLue7TWfP9HLhZc5m%2Fq3vSMqEGEoQRE5n57BFgJmnkFWgdOMIPp2aHrD%2BlEtTVqubAWnS%2BlRox6qsZ3sFHZspUuTjO%2BC7WVVQPzZWKK93HG1us0rmuzrvqGbhMn5hy26RYT7Pr8oFueWPb6cpqtaA63aK6U5TxjMn2tz6NNmx%2BZynFCf4pUvdABZ16JF4MzhHB9xLXY5DE3T30AQmfGxbA5rjfCjaEly2dc%2Fu7QBsMHBdwc%2BdBC%2FuMYTHwQhSB60IWQAhpZbFDGRtaxzrJ0ttREUNDkCsiRNkmpiipCU7FIk0Q%2FHuV8nf5iL0VXmhcr%2FS2Lr4sjgO91Xxsp1vu4yLUIshRL3mCTEV3TFHoNU4gc2xT6LYQqH%2BuqJUS2JZwQEBAQORoNgQcCBQsPRBEI0R2YYBB6gN7rAqUgIgVkJiDw9WMRAoGiD8k0Vl5yVZrJYpZ7SZK%2BHkTqeQU51f1%2BEIW6A%2Fb2VfShmIgqwGIwFwTjsiP1Nap9DWBtgrVhT9v8tuu2oNXrOFo9C61PbFrxCwMKqkE4rqPA86iFAtoCgq6bLPylYnDS16UUuUEMPqUxj%2BM23b5Q7GHnC8fgmDRwRp2Rd50wnPjW0L2Owf0B%2BV1GPoLBCKPgeJGbsEBPwwmc44V6TQo6kKLTpLidO0A9dweBjfx3rY6HTZuTlDoV07Stg8uNnE%2B0BILOeWPZoyUQ7WkaAg5piE75PN9KQ3ijoHp5V%2FF%2FFNrT6HdWosT9kJX4oGX0%2B5mVgG1ZCYUAR6cB2rISBISqzteNwkmRuiA6ExHtAyhVNeQpughfEuDz8ZnXgt%2BO5ymgnaf4%2Fx37sJg97VGb6wD%2FJjs8QXOf09c7PL127O%2FI1QxEuB0REKQjAq8e4TaJoKdRbgD2lAhDtqvbROiGR0D99wgtya9ht%2FMy22TNKAcewfTZNzyH7FCnzCe83WEBZB8WGDnVq2G5e2Y%2BW5JFAxG6Q4Ti7MB1gugmEZrnBdw%2B86D0VwMPOsqDwiGcBOO1KPGlfANqSScOofVFQmsr3unJQQJkJ96GA%2FUnUUA%2By4H6ou2ZX1aX1uv4m3Y0%2BQ8%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22bcx1t-gJUUKlMXSx6NGo%22%20name%3D%22%E7%AC%AC%209%20%E9%A1%B5%22%3E7Vxbb6M6EP41ftwKbC7mMaRpj4600mqro%2B0rBSdBS%2BIIyG1%2F%2FbGJSQA7alqlgXWMKtWMjW2Y75sZPCYAjRe75zxazb%2FThGQAWskOoEcAoe0gh%2F3jkv1B4gdCMMvTRDQ6CV7SP0QILSFdpwkpWg1LSrMyXbWFMV0uSVy2ZFGe02272ZRm7VFX0YxIgpc4ymTprzQp50Jqe8Gp4h%2BSzuZiaAz9Q8UiqhuLOynmUUK3DRGaAOgBiHYRQCHgsvYfGueUlu82qxsvdmOS8YdfP9fDuE%2Bf7%2BB47zlZllfqc7NZpJGz3%2F%2Fc%2Fvvjv1%2Fz1%2BL1%2BfWbGGgTZWvx2MUjK%2Fe1HnK6XiaEd8K6DbfztCQvqyjmtVuGPCabl4uMndmsOE2zbEwzmlfXIlIdTF6UOf1NGjXIQwFKqluoJkDykuzO3rx9ida69%2F9M6IKU%2BZ6di54RFogQlIBInG9PAKtBM29A68iJSGB6duz6QzphbYVarqtFeFdadJGeWkTva5FZshUvTjOyG3Eby8Yly0QUH%2BMsKoo0biuzrfmOahMrJgSqVOt6ru2To2pJIlnr6ym2oThXobhalpMsKtNNex4qZX5kKqcJ%2FaApu6EjzJwaLgJmCFkPjtsetKDrPCbiwg%2BA6J2hXSgN3R63jPIZKT87roDwUQF9A9%2BRgP88BhMfhCMQPvHCCAMcSmRgpqZsQz3K0tmS84AhkzAch9wgpSykGImKRZok%2FPIwJ0X6J3qruuK0WPFHWT1cNwTuI%2B9rXdLiEBTZEj%2BWdEk6ZBKiWxpC5wJD6Cv41EXTwOygK9vBiQcCD4QWBwMLYwOGCgeEIRihb2DigpED8CMvYAxCr0LMBAQ%2BvyxEIGAdehmHylvOSrOymuRBkqSbo4hdzxDHuj8MwkB3hN6hCj9VE2EFWA1mg2Bcd8QeRrMvg9UuVjvW1MYyVm1bAVZn2GD1JLC%2BRNOGRzAgaMbfbhsEjoMlEGAFBgZusPy7Cr89TV%2BicA%2Fh9xTHJI5Vqn3DruNadxx%2Bu14HZvhm4bfnS0PrHH4HBvhDBj6CwYOLgtPh9UICPg0rsE4H0pkTta8ypBgoKfrzBkhvb2ArUgIXvRmb9ZqzlDoX0igiZ9tScG7g7z%2F2feUfsKb5B9skIAbl8%2FzOkln1BuQ0AsFOBPZF%2Fg9DaRpa%2Bz%2BTjficWfT1zEbYqnQEQ4DF1%2F9V6QgPjFidzxuNJlXOwuMpiPAQPbEqk6AYIny9wG3BV5mgcBT4HXiCwpYzFF%2Fv1c2b7Hl32n0J8HtZ3gm6a5w%2BX97R2rFfkKYxROiPCAjiBw82iOD0QgQ%2BDRtrTQST6Ro2EYbhEZD%2BHkGR%2BTJLnddZI%2BtGOfAEpr98tRNaxnwOyXzC%2FjYKIHmjwIPVPDqWWy%2FzCRWZIkOE4RCh2jhwmyC6S4TuZgFbax5ckP4yPOiRB5VDOAvGW1HivnyDIpdoQuurhNZSvKPJLgIoJ97MVvqzKPD03EoPFdm2L%2FelZg%2FCWS8mfQR5u5cr6SNIvfcdwD7ydAb5FyP%2FhssKXeRrvuMG9pGYM8g%2FC7%2FuvrPqw%2Ff%2B951p%2FhE87CMrZ1hwOQuGsfvyr4uCqrbv%2FJxSPYvTD1mhyf8%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22j2wgQkeAnVDDI_-STZWu%22%20name%3D%22%E7%AC%AC%2010%20%E9%A1%B5%22%3E7VxRb6M4EP41fmwFNhjzGJJ09%2BFOulOl62rfKDgJWgIRIU3aX382MQnYRE263UIcoyp1BmMb5vtmxmMTgMbL3bciXC3%2BzmOaAmjFO4AmAELbQQ77xyWve4nnC8G8SGJR6Sh4TN6oEFpCuklium5VLPM8LZNVWxjlWUajsiULiyLftqvN8rTd6yqcU0XwGIWpKn1K4nIhpDb2jye%2B02S%2BEF0T6O1PLMO6sriT9SKM821DhKYAYgDRLgQoAFzW%2FkPjIs%2FLd6vVlZe7MU35w6%2Bf677fh483cLj3gmblJ7X511O2ufvx74ISZ%2FXz7Qn%2Fdxe%2B3omOXsJ0Ix67eGTla62HIt9kMeWNsGaD7SIp6eMqjPjZLUMeky3KZcq%2B2aw4S9J0nKd5UV2LaHUw%2Bbos8l%2B0cQZh5KO4uoVqALQo6e7kzdvnaE2%2B%2F280X9KyeGXfRcuICEQISkAkvm%2BPAKtBs2hA68CJUGB6fmj6Ip2wukItn6tFeFNadJGeWkTva5FZshUvzlK6G3Eby%2FqlWSyKkygN1%2BskaiuzrXlJtbEVUQq7VOti1%2FboQbU0Vqz15ym2oTi3Q3G1rKBpWCYv7XF0KfOSoRwH9E%2BesBs6wMyp4SJghpB177jtTtf5poiouPACEL3TtQuVrtv9lmExp%2BVH%2BxUQPiigb%2BA7KvCnLiAE%2BBNeGHmABGCKwcgCxANTAkZTEFgKOZjpKdvQD9NknnFeMKRShuuAG6iEhRgjcWKZxDG%2FPCjoOnkLn6umOE1W%2FNFWD9sNgDvhbW3KfL0PkmyFL1meUYlcQvSVhtGRDCOyVMPodfBLRtfA7CJW4PEYzhqkMxhohjhuGwOOQxQMkOvDgHdTEQ7WNE4lPUQ4MxLRKOpS7TNxHde64QjHxRLMyJdFONhTutY5wvEN8IcMfAT9exf5xwP3QgI%2BDMu3jgfSmRN2R%2B6JRfvBCPgOmHr8c0R4gX3y%2BL86RR74RMBnhf0cwQb%2B2ASBykTAdtvWtQKWEkLY9fzgigJB%2B7ZyXUTTXJdtkl2D8oielOyqQkGn4RElV%2FSHPCKByjC0doEdmS%2BIU%2B684uSFFee8%2BFGvuG%2BIjb3ZVlfzPk%2BrkUnVBuaZtY5c2%2F6y50JuSG7euOK2Afd%2BwxU7A7fhamLOzGp6tOFEns57vcxqfHlq7x0Rr6kZPyM7aYjQHxEQJPcYNojg9EIEPgybaE2EPhK82Ap9xsAOIsCJhy1DhAYCh%2BERkP4eoSPhe1YU7%2FFC8HA8ZQJqOSMiRzn65LagZeKIIZlP2N%2F6GFLXx%2B6t5iFZbr3MJ%2BxYGjBEGA4RqvWyrwmiZSLIa2S21jw4Y7HD8KBHHlQO4SQYv4oSt%2BUbOlaOTGj9KaG1Eu90LDZeZVytLrOYHaQnUYD13EEK%2B0jSmhXnk15MXnGuXq%2Fof8VZ81ctYB8ZWsOC81kwjH0XSO99F9CkZ%2F9U9ODKiStNYsh6eMZwDsNwKlu4%2BzGcyhZuvQ0nOrFn2wcBrnaePQDfNq9qXm4mD6%2FtXfermqgjYdmJj4B5T7dytQwo2OBDWeXUFB9q8s5kYk4bCasNAk0yMcik4y6xBNcCgqruO7%2BbVMczx1%2BsQtP%2FAQ%3D%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22bBCH8Dlit9WQ7ip_dov_%22%20name%3D%22%E7%AC%AC%2011%20%E9%A1%B5%22%3E7Zxfb5swFMU%2FDY%2BTAuZPeEzSrN2kqqryUGlvLnaCNcARMU3STz%2BTmDXxZWq3RS1cKlVquDgm%2BOcDhxOIQ2b57rqk6%2FRWMp453ojtHHLleJ7rE1%2F%2Fqyv7YyWKTWFVCmYavRQW4pmb4shUK8H45qyhkjJTYn1eTGRR8ESd1WhZyu15s6XMzre6pisOCouEZrD6IJhKTdUN45cVN1ysUrPpsRcdV%2BS0aWz2ZJNSJrcnJTJ3vNDxyI46ZOrUtfM%2FMiulVK82axrnuxnP6sFvxvW43a%2F%2F3sHvfS95oS7Up9hPppPk7tvk7sf8dv7w%2FZ5W91%2FMhp5oVplhn5sxU%2FsGRCmrgvG6F93vdJsKxRdrmtRrt3rq6Vqq8kwvufrlUmTZTGayPLyXLJdLL0l0faNK%2BZOfrGHhYxiEh304fAJeKr774967b8FmD8A1lzlX5V4vm569sZkSRhNeZJa3LzMsNqX0ZG75pkbNnF797vmvmOi2BstlKXqQIuMFAKkHWJ3ToplYFfp1ogeaazDTGoPQGpyYFblgrH77tOQb8UwfD13V02AtRaEOoxFMneCq7qtScnM8irgAeCELbs0OU3pP%2FCS28QcAf9CCn3QbPwH4FxcVMXdZwKM2EcdhROhHi5g06uy3iH1IsSqfxJMe608h20IGUwAKOWqZAh0XcgCmwN1lz8aUxSxoEzLlvku8Dxay7%2FoYhBxCitr6fmoYnIwDi34M6Pst9Duu4QjQv7mohh9dxpajNg27o4jE700RaLgRbL81PIYUq1wWK1ltPpUMlBzZcwCejdvmQMeVHIM58H9Cfk8kPrjQhUj8tkudrguzSaeGkli8BWQPj68uDJ76I64gwskExkj9YRKGOJkMLNuJApwYYbiD%2Bsp%2B7OPECAOa%2FhwhbSdBXBxMYNyC2hDa5gMLRpiboD5C2n4FC0YYnPTnCGmbDyxM%2Bhxk2E4CCRNv1GMmwEkEOJhgyiSwMIGZxLBsARKMMMZAbdKBk0CCseUelYti7FgaBcwHEowwxkCNEfiVN34%2F2XWMMPnosV9BwgTGGP1hAswHEiYwkxiW%2BUCCEcYYqM9awHzgwNjc9NPLI6TtJHyCgwlMPlBfZdvmAwtGGJagPtHZfgULRhiWoFaj7VewYBz4PR9YMA7soRxgcXDcukNgWIL6uQxgcZBgHNjjNcDiIMHY8nwNZozA4iDBCCMZ1BiBxcGBsfl4Q7lu7M2vgBzavvJTNKa%2Fkx8BIvNf%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22CXSuBJb4wltGAMlzAvSj%22%20name%3D%22%E7%AC%AC%2012%20%E9%A1%B5%22%3E7Vxtk6o2FP41%2Bbg7QHgJH0Hx9s7ctndmp9OXbyhRaZFYYFftr29OSFAEXbbrqgt1dxROXkmePOckOQHh0Wr7JQvXyx9ZRBNkaNEW4TEyDN3EJv8Bya6UOK4ULLI4kpH2gqf4HyqFmpQ%2BxxHNaxELxpIiXteFM5amdFbUZGGWsU092pwl9VLX4YI2BE%2BzMGlKf42jYimluu3uA36g8WIpiyaGUwasQhVZPkm%2BDCO2ORDhABk2MvA2RNhHIKv%2F41HGWPFqNBV5tR3RBBpftWtZ7uS%2FZ1A9e0bT4kJ5LheLeDf7%2BgtZ0j9GHtloy2%2FJA2QlmqjYqXanEe8GecuyYskWLA2TYC%2F1M%2FacRhSy5QX5%2BzjfGFtzoc6Ff9Ki2ElMhc8F46JlsUpkKH%2BobPcbpH%2B01O3vMjtxM97W7nbyrqwrVPBkM0lRzp6zGT334BLRYbagxZl4Zhe8HLf8F8pWlFec32c0CYv4pV7hUA6NRRXvTV3L48revTAYytq9hMmzrO%2FXn0cosJAXIN%2BFC9dFHkGBi4iGXA8FBPkTRBwhsRAZo8BB%2FhjiBzZybRFkIt9Hvg2RvQlc83zIhIf6NEwhAc%2BImLIYyNSEwogrLibI0yEvokPiY6jugQio2izjgj6tQ9HvG06KddDN4yQZsYRlIi2OLEoik8vzImN%2F0YMQYkyxbVdwe6FZQbfnAfcOgKicFVlJtsaOZOvNnvuwKeMsD2jP0e4bU9ZACQZ3JBhjQASDGwQjSEWDsQ2s4HF2eVpncbpoZx3OBSDhlOFD6CXpYD6fG7NZGx1E9tS2bk0HhtkPOjCbCDDshNfdj%2BIXfrmAS1AMk3BWsGz3neXF94zNaJ7z%2FqiUhUzDa3mQrCWn9T75QaZSOQGU%2BDdGriXgxpWTOxU6qYMqgjim0FsOAJjYp%2Bp0SZUVUjJvxag9I3Q6vzFGLa0fGDVIP1XWq6rIvpYqeksZ%2B5K%2Bs5g%2FUQU%2Fwz2Cn4MfrXqZpZKW6d6ArRrCqge8OS7d2%2BKyhso9SD%2FelLI74tcZkCllt5hSzWmZmGnBtMxCvnYwywqERgsQKWdjI1CHSgWK5LpQdvx2BKGgLwORXBThaSKVmOpBkMgcpncG8nyRnJeFhWY0wXK7qJ3mzh1I2tSB2MYujm6sA22l7z65DsTaPelA%2FXpc43TkGjIgrnFauIaI6VlwsOBjAWu4YuUHOKJkHw0YpMfj31Jju2%2FjX2%2F02jDGP%2Bk4%2Ft0BjX%2FSOv7rSh6m1z%2BFK%2BpteKNXE%2FWcFiqgZdJ9SV6g4nO3vNCXuTE2BsoLbkdeKHdPB0IMbkdikOturdxwek1uQPSA1bD%2F7PSAB0oPymnidX54L4I%2BEz%2BoVjlLEN56ncQz%2FkwsHbGUD76iwRPNKMOmC6MvswzztnRxsxVNveuSvD6k7WHVKud3B9tNjEtuFM5ZRr%2BmcRGHSfyPYJ02uvnw7b65BX8g55x3SEHi00ZOtvjcmJx0xfqfnZyG6rmiG13JCQ%2BJnIxu5FRtsDiIBGJjxEQ%2B5yK7YpQ4XZSub8c8Fs4LmnEWWvNxG9P8ibaZOdWmTFdqE1WyETHkNo5buvRhUTcuIVBPVcmYV%2FKBN%2FuSRdL7wZ2Ii5HaWDra2vl4p4f78tNz7X6ynd7im%2FUmeLco4a5oOaeNPRgTcuj8r43fjs%2B%2BTBWMu1pZuKY2NjtqY2NIUwWjxZGwxWXUArd0zhAB12MO8satGPoWTmlS73euphcpv57x7qJ8OPsweONZmHgyYBVHUQkxmnNWmor8NEFdcVqINrN8ZI3PjX55cEYmRtVxlUOUnBkL7%2BeKB%2B1R19Wk60rOWypHNp%2FntA9eWXqbS%2Bsl9c59OSYf65fOK9c6uW8Fozc3M3Lpiu4I8xcLghmDwQxmhw5uUA064TbKOqefvpOPXCtNrdnJlefTYSffeR%2BrKr9u5BIHXLqlk7cj%2Fed4nwMWfOR5b19hKj3LhbHsmTIf120xkrmENyPpatP2BHK6bvUTc%2FpNlpEuaYB2PcmkD8knRm9zihNHIGGNRjnX9sLcLBH8%2FiGuPRpXNTXV4zv1AvpjeQ717HZnRiohPhRGanPTEwaMPMnWI0Z670mlipE04jq3ICXlOtU7UjKae7i%2BPFP5uk1dnTcR51a8iXx5gGcdnC6xwIJ2zQN72YFvooJImWoMR2BOnkARLiQfBnggzbzkT71hYKcspUfWuBRd1dzW1GCrHFS1hrldDchDc1udDLlTFlSrLx32MZp7YrWdjXGcr1kOHV0CuALn8YwtovmpU8Ufulcnyz27XXfySNbQDisfr1v15qCGM1AjEHc9FTokJwXVKEc2IJCQOLPpOW02YI%2BWp4%2FPY%2FZlex63GPeSw2E%2Futaf9t%2FPTAU8lHaIxyPoZL0ttY4MP9ZDUyVQr2CxhamlCQtLg%2FdegMQSF8rm2uuRaSO77FjCY5WVPaFuBm%2BV2crnTL2yr0VJVeukh%2Bg1r41eEfeVl%2BSpqcn%2B9YQ4%2BBc%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22STG2XfgGbPdQsMTAQRJ7%22%20name%3D%22%E7%AC%AC%2013%20%E9%A1%B5%22%3E7Vtbl6I4EP41edw%2B3IVHUHpm9nZ6T%2B9tHlGiZhcJG%2BKtf%2F1WMCgIKDq2Yyvn9JkmRVFJVer7KpdppPdnq08sSKa%2F0BBHSFPCFdIHSNNUq2fALyFZbyQ9RwomjIRSaSd4JW9YChUpnZMQpyVFTmnESVIWjmgc4xEvyQLG6LKsNqZRudckmOCK4HUURFXpXyTkUylVLWf34jMmk6ns2tZ6mxezIFeWnqTTIKTLgkj3kWYhTV8FSPeQkJV%2F9D6jlB9Vy5Vnqz6ORPDzuG76fT7fwNZ3hmN%2BIZs%2F%2Ffjb29z874vzxyxOhvafv79pgx9sGSG%2BzsOOQ5gF2aSMT%2BmExkHk76Qeo%2FM4xMIq9OPtdH6mNAGhCsJ%2FMOdrmVLBnFMQTfkskm%2FBJ7b%2BW3z%2FZObNr9Jc1hisSq21bFWDIuOU0jkb4QNu5vkbsAnmB%2FS0jZ6IQaGDdiHfBf4TpjMMA4c2w1HAyaKc0oFExmSrd9LMgq6c3MvmghzdIojmcrxDHMTIN5HXQ64pHmwf2Zp4cBTx7PeQN0CuLySugWxDSMQrK9NxkGt7YOI5GHHK1i805S%2BMjnCaUgYDj2AmvKF4mvBs%2FFYwgwTy4mGaSH98HdmKsCj6tpEzyHrqIdvLJH3kWLmO2sbisbbiDlPOYLhukkRkBFNH4z6NOV5xCDPDY4bTKTyReEH%2FxU2%2BpVnga0aTSUKyOORy43cw7eVPK9byaCW7wRSGiHwL2Y6Inm8jVxXR24ZuP4aVvr5jHPf4acc%2BgkqWU8LxaxJk6F9CISwzTSNjLDCDwVwG49LMttzk9VY2l7viZeS1dVqoW6qi3DQtOI9RIrSWJUJ%2F5BKhNZaIkwrC96gEx7n3W9ttSY%2FhCUk5ZpVIpBeuB6d70Jb%2FlfpaM6YMf4kJJ0FE3jL%2Fs2nXYH4Keu4YnN9Xa65NFyjrl5q5MYlJOi2Uqz0vPmyt2rY%2FerHKx3zv1UpvWa2MR65WemO1cp%2BR5wiu8VRBNze5F%2BlI6whp6feywlbVyiTcJWkZLUnLfGTSMlqSlgD0r8EMu0uYidMYLMU8%2F7pjrGsylnk3yyztMRjLbMlY1iMzlnkCY0lAn09a28PMjreux1vW3ay09MfgLaslb%2FUembeslrxVRf159FXDHh2LXZHF7HtZffVaJu524kg8EfN5WsYG4pj2hdEEZobg9BV36XrVdHXupuhWt7Q1txXqE%2FId5FrZMZqJ7OyQrXIt8J7%2FI8EH8PSzq4cDB3zV64y9K3ZQEhCEf3XkmDUXG%2B2v8x1k68Id0WkfRn4AEcJvFXnwkYE86GmQA6RmRFIji4wLITp2CV810eDCHtKygZXgBKicxPA8AjhhBgIBI%2FAkcuWLGQnDzZoLpwDgYWZKLIUSSmKepbfpIXMgbMEyK92suIRpiAw40acRTKQ%2BiGksrIxJFO2Jrono7bJ5vQfUAqJNuwbRxo0Durrjq8lf7UlkGCDQswr4bAL0N9wfn43buuvKrMLZ6pHryvYYbkEI74zzYwWyg%2FeF4K2ZVXhb1geEd3VjpD813JzlNeQY9kRaH17TVTJ7a%2FuEUnZGrndZvZfVVjmrDcWsZrVSk9X6jWd1dddUQ9hGQ6KXb1vydCtdpLRh%2BvdHQvvKdD5kuvJwDpDMmvLwIVd%2FdhsgmQeAVLoE2MPSKTupDk4PDKdezWaqti7dOpycNnCyGuDUdDZdQFUdJDpwdeA6BC77TrYymtIGXL0GcFXOz%2FM8rDsa7yDVQeoQpFSl7vTPuQVMZbpH%2FuJV2iv8rbHu%2Fw8%3D%3C%2Fdiagram%3E%3Cdiagram%20id%3D%22C1lZVwBWBivODLPyhwKg%22%20name%3D%22%E7%AC%AC%2014%20%E9%A1%B5%22%3E7V1dc6M2FP01ftwMIBDwmK%2FtTic7k26m3fQRG9mmxcjFZGPvr68wko0kYzAB8bF%2BSpBBFvcen3t0rxATcL%2Fa%2FhZ76%2BVX7KNwYmj%2BdgIeJoahOzYkf9KWXdbianbWsIgDn550bHgJfiLaqNHWt8BHG%2B7EBOMwCdZ84wxHEZolXJsXx%2FidP22OQ%2F5b194CSQ0vMy%2BUW78HfrKkrTp0jx98QcFiSb%2FaMej9rTx2Mr2TzdLz8XuuCTxOwH2McZL9t9reozA1HrNLdt3ngk8PA4tRlFS54HdX%2F3Lr%2FOftoj%2FW0%2Bnz9200%2FesT7eWHF77RG74Pvc3mmQz%2BdRXertdhMPOSAEf3OErQNqG3kuyYfWL8Fvko%2FQptAu7el0GCXtbeLP30nSCCtC2TVUiOdPLvPAjDexzieH8tmM%2FnxmxG2jdJjP9FuU98OIUWJJ%2FQ4aGYfHnhfesHaxIYIrxCSbwjp2wZ4rIrKAAtevh%2B9ObBRcucIwFt8yiAFoeOjzYm%2F1AzX2ByQzL57ZQYwJslozA3gFa%2F7A0kew%2FQqrqAYt05YdYTVnXbsqpZblUU%2BbcpA5OjCEek8c73Nsu9mXXepGk7oZwExdG%2BxdDAwaCMdYlx7ng%2FEdPFu9f04MZih3%2FTHvcHD9v8mQ87epQNFPkS8QvOIDeD3%2BIZKsdW4sULlJTRrOzcnPOsE85jbTEKCSn84Id7yqP0G55xQG7kgB0IeOwAUwBFdpv0qnwEETty%2BI4kdGV2kDraA%2Bxw2%2FUxZ40fc11hxNB419qia6tiRHfdGz4AGLZalOi2jApi9xd6iONkiRc48sLHY6vg5eM5TxivqXv%2FQUmyowLVe0swD6ccMPQ8MLQbCO0ScOyPnlEckFtH8cUsVc4%2BxmlofRAzZhkdFGCmMUc7Eh%2FEaB6jzfIOedFnIqgwDXQiFp68KZmmcP7zwmCREsGMWDf1wV0arokYC2%2FpB6vA9zOooE3w05vu%2B0sdtU7vb3%2FH1t3EejgX7%2BkkhV48OUTsvFPPYLpQHXzSbjTD5n92TNrXdTI7Bc%2FnG9SK%2F%2BAYhJkpyN2qwkwXg3Bjysy%2BRsm2oqRpmzcF7r40TspdiT21HCZl8rzCpDGYNCSmZJAAQy1K3ItQMktzR8GMx4bg822QvDIfk%2F8zjWRY9PDo8fRgJwNF45BCxJbVsrpqbA4Iu4TkaOaALC8siz4ZmENUeu5ZtZEKPcdyeQ80AhAd8Fe0J%2Ft0OefMEqDfMk%2BmVhtFLhSa%2FI%2Bl81yobpTzef%2FNagtmPdirq2SoXiHH3FcxxQIyvYyF5LPxuMHoWZSbUBMWbVPMVtUW9HJXigW9%2Fguk5DvDidWQopdRolrR67KkZ%2BF3NBVfvWdh15BF6wDNqmt6z%2BKuIUvJwVBex3E3twSlAz4lUGos8J7oS3HkZagbIgz7Hnl1zWgo9J7AierYa1w2T6iSTivOjEHb6bju2C3H2LBeefIUcISeHKgWNrKyD7Hnp1XOBzQPoiCVaxsZSUPMf2U%2FkbMJMGBBzh39r3Qa8soVprl5J35Dnk98MkBtqDt909yjKC%2Frhphv71xzD7i%2B3LXm7rQERKDUnOaW%2B1Ktua%2F16xaR4jaluWWcKNfcjZewe%2B8%2BDTSlfKXoo7jay27kl1C%2B5aXf4SlfIGfoXlfhWESvafVM9IIKmagB2NWy6onew1ODzRv2WuGtq3ozTHYWDC2rOdUr96VY9YJrjbdFpMCmVK%2BME1Ncb9c2UC57VmoMqhdoTaleKfyoVr1y6mq0qjcD6thU72XJidaXTetSccg0zDaLQ91xuLD0HsDaJGDrPINrwgrZAhIgTvV2udPoj6h4yLBgyIUjEy9gIzuCOBtDo5A25ZlFjBbBhmBjnLzknOWllJYADxDQCILZ4wSM6yy%2Bg%2FY4iwmUK2d1zVkfEC4CZwGgiLPYkCtzFhtZu5wlJ598%2FDRWJWUWrLbIKSnNEdil90rKlPMuxHHeWygUzh%2Fw7G1F7DPcXKItrHPqPJdoVsg1DMCujiGqpYq5xPa2zhnwPiYd5xIzTHYWqR2juVyi3JfiXKJZYYFMX2FYFVI9Qkr9bKLcF1S98dJl6%2BzHkE0URbnJSms13FfSU9vO%2B8Vm7tZ5QZDqYBc6jaDE4S9oTwZbly26u07OmyNyU%2Fz11qZxk5%2Bcm3ZLk3O3YMjFW7aJF9gKJueWnCP38bdRE1P5Jl7Dm6CzzSiuzNQ5M9UXmAIzWW2lDSWiKUsbihdYKtKGrGSUgzTx%2BgaNk5TKVx0Oj5Rg4%2FOVKynVI6XDUoqPk5KriJTYkKuTkquClORZ3J6UaDb8MURp%2BnscnATLZ3AD5KTmn%2F29clItToLiKuHanAQtRZzEhlyZk9jI2uUkuUK0jvEMbTa8VBoJK5U%2FmTxAVpJrUacezvgzCUJZ8A6g%2Buf27e0vcBSPJRuaaNeq21639oQGvD6XfNKHFaqqsNPnkgmWGquqnuhLcVUVXp9LVomU2lXVE32prqra7RV1qLY%2FTApc0zk%2FKyAHoq7PoUh4o4kDW50oVF4HUmXT7Y6pTVzUVXfbbUMT69GqwXrqZSunijUyhIco9u3yWo0JPlhEbl%2Fd23JxhuaLnojnUquce1POAGSoAXsm75naGLi8B6JdO5f3zmUp%2FV7pqo7lvVOwMFxRDASwOXkv96X6rTnGcGFYFVI9Qkp9eS%2F3pVreO4oS%2Fo4N6mv7T%2FK%2BobS%2FDtU9y5GVqvuOmU0X9gWF4psuL0Crfr6ntrEqZ%2FLHrO6d8lT%2BANS90%2FgeD9eKYqUfvunwkeXw8txLf%2Femw%2B9sYJjt1BOtggEXjUs631RQTXTkysiIn9Z0yve96FM1kRzGGCf508lUdfkV%2B6nZH%2F8H%3C%2Fdiagram%3E%3C%2Fmxfile%3E#%7B%22pageId%22%3A%22C1lZVwBWBivODLPyhwKg%22%7D
OK,那么整一个的Spring的BeanDefinition的创建解析就已经全部完成啦,看到最后,给个赞吧,哈哈哈!