-
Notifications
You must be signed in to change notification settings - Fork 0
/
spring全体系图解.drawio
99 lines (99 loc) · 11.5 KB
/
spring全体系图解.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<mxfile host="app.diagrams.net" modified="2023-06-09T18:28:15.843Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.41" etag="zP32s2XrtHz1Lzn8N_ME" version="21.3.7" type="github">
<diagram name="第 1 页" id="4fWyXJP6VSfAbYg68hve">
<mxGraphModel dx="2876" dy="1124" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="2336" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="AFss-TPShZiB_wvnAR8w-2" value="<font style="font-size: 18px;">ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml")</font>" style="rounded=0;whiteSpace=wrap;html=1;align=center;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="-130" y="100" width="490" height="90" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-4" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.019;entryY=0.162;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="146.01" as="sourcePoint" />
<mxPoint x="477.00427342623004" y="145" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-5" value="<font style="font-size: 18px;">创建sping应用上下文</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="480" y="105" width="250" height="85" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-6" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="160" y="240" width="3480" height="2320" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-8" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="210" y="280" width="810" height="660" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-10" value="<font style="font-size: 18px;">调用构造方法</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="550" y="330" width="155" height="30" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-5" target="AFss-TPShZiB_wvnAR8w-10">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="605" y="300" />
<mxPoint x="605" y="300" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-12" value="<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style=""><pre style=""><font style="font-size: 18px;" face="Helvetica"><font style="">1. 调用父类的构造方法super(parent),定义属性和创建一些集合,<br/>主要是创建一个资源解析器</font>PathMatchingResourcePatternResolver,解析xml配置文件。</font></pre></div></blockquote>" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="250" y="360" width="740" height="130" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-13" value="<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style=""><pre style=""><font style="font-size: 18px;" face="Helvetica">2. 设置位置文件路径到当前应用程序中<br> setConfigLocations(<span style="background-color: rgb(255, 255, 255); color: rgb(8, 8, 8);">configLocations</span><span style="background-color: rgb(255, 255, 255); color: rgb(63, 145, 1);">)</span><span style="background-color: rgb(255, 255, 255); color: rgb(8, 8, 8);">;</span></font></pre></div></blockquote>" style="rounded=0;whiteSpace=wrap;html=1;align=center;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="245" y="540" width="740" height="130" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-14" value="<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style=""><pre style=""><font style="font-size: 18px;" face="Helvetica"><font style="">3. 开始进入容器的创建和刷新环节<br> </font>refresh()<span style="background-color: rgb(255, 255, 255); color: rgb(8, 8, 8);">;</span></font></pre></div></blockquote>" style="rounded=0;whiteSpace=wrap;html=1;align=center;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="245" y="730" width="740" height="130" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-15" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.019;entryY=0.162;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="985" y="801.01" as="sourcePoint" />
<mxPoint x="1102" y="800.01" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-16" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="1110" y="700" width="610" height="1000" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.026;entryY=0.292;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-17" target="AFss-TPShZiB_wvnAR8w-19">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-17" value="<font style="font-size: 18px;">1.prepareRefresh<br></font><div style="background-color: rgb(255, 255, 255); color: rgb(8, 8, 8);"><pre style=""><font size="3" style="" face="Helvetica">前戏,做容器刷新前的准备工作</font></pre></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1222.5" y="730" width="385" height="80" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-19" value="<ol><li><font style="font-size: 18px;">设置容器的启动时间设置</font></li><li style=""><font size="3">设置容器活跃状态为true</font></li><li style=""><font size="3">设置容器关闭状态为false</font></li><li style=""><font size="3">获取Enviroment对象,并加载当前系统的属性值到Environment对象中,并验证需要的属性文件是否都已经放入环节中</font></li><li style=""><font size="3">准备监听和时间的集合对象,默认值为空的集合。</font></li></ol>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="1810" y="715" width="410" height="160" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-22" target="AFss-TPShZiB_wvnAR8w-24">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-22" value="<font style="font-size: 18px;"><font style="">2.</font>obtainFreshBeanFactory<br>创建容器,并且完成配置文件的加载</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1210" y="900" width="385" height="80" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.52;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-24" target="AFss-TPShZiB_wvnAR8w-28">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="AFss-TPShZiB_wvnAR8w-24" target="AFss-TPShZiB_wvnAR8w-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-24" value="<div style="background-color:#ffffff;color:#080808;font-family:'JetBrains Mono',monospace;font-size:13.5pt;"><pre> createBeanFactory()-DefaultListableBeanFactory</pre></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1810" y="890" width="470" height="100" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-28" value="<div style="background-color:#ffffff;color:#080808;font-family:'JetBrains Mono',monospace;font-size:13.5pt;"><pre>loadBeanDefinitions(<span style="color:#000000;">beanFactory</span><span style="color:#3f9101;">)加载配置文件</span></pre></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1810" y="1040" width="460" height="90" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-30" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2670" y="690" width="840" height="460" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-31" value="BeanFactory<br>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="2910" y="710" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-32" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2700" y="810" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-33" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2890" y="810" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="AFss-TPShZiB_wvnAR8w-34" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="3110" y="810" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>