-
Notifications
You must be signed in to change notification settings - Fork 0
/
AOP.drawio
115 lines (115 loc) · 12.5 KB
/
AOP.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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<mxfile host="app.diagrams.net" modified="2024-07-06T15:20:47.938Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" etag="Jd89NsgTf3Iqn3ZDc7cU" version="24.2.7" type="github">
<diagram name="第 1 页" id="KeRVim8FPUtJoILA_i35">
<mxGraphModel dx="1590" dy="930" grid="0" gridSize="10" guides="0" tooltips="1" connect="0" arrows="0" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2M8X2cpPcYSi4sutsWAT-2" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="36" y="123" width="352" height="138" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="36" y="313" width="352" height="138" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-4" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="684" y="216" width="352" height="138" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-5" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="149" y="132" width="20" height="120" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-6" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="149" y="322" width="20" height="120" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-7" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="785" y="227" width="20" height="120" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-8" value="通知" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="180" y="132" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-9" value="切面类" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d80073;fontColor=#ffffff;strokeColor=#A50040;" vertex="1" parent="1">
<mxGeometry x="59" y="180" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-10" value="目标对象" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d80073;fontColor=#ffffff;strokeColor=#A50040;" vertex="1" parent="1">
<mxGeometry x="59" y="370" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-11" value="代理对象" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d80073;fontColor=#ffffff;strokeColor=#A50040;" vertex="1" parent="1">
<mxGeometry x="693" y="273" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-12" value="切点" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="180" y="232" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-13" value="连接点" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="178" y="370" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-14" value="执行切面类的通知" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="820" y="221" width="115" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-15" value="执行目标对象方法" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="824" y="324" width="115" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-16" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="398" y="208" width="38" height="155" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-17" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="266" y="123" width="17" height="50" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-20" value="前置<br>后置<br>环绕" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="288" y="125.5" width="60" height="45" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-21" value="指定哪些方法要执行" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="264" y="229" width="117" height="30" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-22" value="目标对象执行要加切面通知的方法" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="266" y="367" width="117" height="30" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-26" value="织入" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;" vertex="1" parent="1">
<mxGeometry x="447" y="275" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-27" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;strokeWidth=3;" vertex="1" parent="1">
<mxGeometry x="641" y="206" width="38" height="155" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-28" value="JDK" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxGeometry x="550" y="207" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-29" value="CGLIB" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;" vertex="1" parent="1">
<mxGeometry x="554" y="337" width="75" height="24" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-31" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="274" as="sourcePoint" />
<mxPoint x="550" y="224" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-32" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="2M8X2cpPcYSi4sutsWAT-29">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="499" y="301" as="sourcePoint" />
<mxPoint x="543" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-33" value="<div style="orphans: 4; text-align: left;"><span style="font-size: 13px; white-space-collapse: preserve;"><font face="Comic Sans MS">Spring容器根据配置文件或注解元数据创建Bean的实例。<br>如果是单例模式,容器只会创建一次。<br>如果是多例模式,每次请求都会创建一个新的实例。</font><br></span></div><div style="orphans: 4; text-align: left;"><span style="font-size: 13px; white-space-collapse: preserve;"><br></span></div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=9;fontFamily=Comic Sans MS;fontColor=default;" vertex="1" parent="1">
<mxGeometry x="50" y="670" width="187" height="252" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-34" value="<p style="orphans: 4;"><font color="#0f0f10" style=""><span style="white-space-collapse: preserve;"><font face="Comic Sans MS" style="font-size: 13px;">容器根据配置文件或注解中指定的属性值和依赖关系设置Bean的属性值,这个过程称为依赖注入。</font></span></font></p>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;align=left;fontSize=9;" vertex="1" parent="1">
<mxGeometry x="360" y="670" width="187" height="252" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-35" value="<div style="orphans: 4; text-align: left;"><p><font face="Comic Sans MS" style="font-size: 13px;" color="#050505"><span style="white-space-collapse: preserve;">BeanNameAware<br></span></font><font face="Comic Sans MS" style="font-size: 13px;" color="#050505"><span style="white-space-collapse: preserve;">BeanFactoryAware接口BeanPostProcessor前置处理InitializingBean<br></span></font><font face="Comic Sans MS" style="font-size: 13px;" color="#050505"><span style="white-space-collapse: preserve;">init-method<br></span></font><font face="Comic Sans MS" style="font-size: 13px;" color="#050505"><span style="white-space-collapse: preserve;">BeanPostProcessor后置处理</span></font></p></div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="680" y="670" width="187" height="252" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-36" value="<p style="font-size: 13px;"><font style="font-size: 13px;" face="Comic Sans MS">如果Bean实现了DisposableBean接口,容器会在Bean销毁的时候调用destroy()方法。<br>如果在配置文件中指定了destroy-method,容器会调用指定的销毁方法。</font></p><div><br></div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="1000" y="670" width="187" height="252" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-37" value="实例化" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Comic Sans MS;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="90" y="620" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-38" value="属性赋值" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Comic Sans MS;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="410" y="620" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-39" value="初始化" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Comic Sans MS;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="730" y="620" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="2M8X2cpPcYSi4sutsWAT-40" value="销毁阶段" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Comic Sans MS;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="1040" y="620" width="100" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>