🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #128

Spring������Ļ-AOP

#128
From: Chris
Date: Wed, 02 Dec 2009 01:45
52 lines
6665 bytes
AOP���˶����AOP��ϵ�ṹ����AOP��صĸ�����·�Ϊ���ɸߵ��͡�
��ʹ�õ�ʵ�ֵ������Ρ����������ϵ�ṹ�����˵����������ģ�
�������£���߲������ԺͿ�������������������п��Կ���������Ҫ�ĸ��
base������Ϊ����ǿ���󣬻���˵Ŀ�����aspectָ���棬ͨ�������base
����ǿӦ�ã�configuration���Կ�����һ�ֱ�֯����˵���ã�ͨ����AOP��ϵ��
�ṩ���configuration���û��������԰�base�� aspect����������Ӷ��������
��Ŀ�����ı�֯ʵ�֡�

��Springƽ̨����˵��̬ϵͳ��˵��AOP��Spring��ܵĺ��Ĺ���ģ��֮һ��
AOP��IOC�����Ľ��ʹ��, ΪӦ�ÿ�������Spring���?�ܵ���չ���ṩ��������
Spring AOP��ʵ�ֺ��������Ե�ʵ��һ��dz��ḻ�����˿���ʹ��Spring�����ṩ
��AOPʵ��֮�⣬����װ��ҵ�������AOP�������AspectJ����Ӧ��ʹ�á������
��Ҫ��Spring�����AOPʵ��ԭ����һЩ�����������AOPʵ���У�Spring�������
��IOC����Proxy��������Լ� AOP�������Ĺ������ԣ�ͨ����Щ��AOP���ܵ�
��װ���ƣ�Ϊ�û��ṩ��AOP��ʵ�ֿ�ܡ����ԣ�Ҫ�˽���ЩAOP�Ļ�ʵ�֣���Ҫ
���Ƕ�Java ��Proxy������һЩ���˽⡣

AOPʵ�ֵĻ�����

AOPʵ���У����Կ��������Ҫ�IJ��裬һ���Ǵ���������ɣ�Ȼ���������������ã�
Ȼ����Aspect��֯��ʵ�֡�AOP��ܵķḻ���ܴ�̶����������������ʵ���У������
�ķḻ�ļ���ѡ���Լ����ʵ����IOC�������޷��ϡ��Ͼ���Ҳ��һ���dz����ĵ�
ģ�飬��Ҫ���㲻ͬ��Ӧ����������Ľ����������
��Spring AOP��ʵ��ԭ���У�������Ҫ��ProxyFactoryBean��ʵ����Ϊ���Ӻ�ʵ�ֵĻ�
�������з������ܴ�һ��ԭ������Ϊ ProxyFactoryBean����Spring IoC�����У�����AOP
Ӧ�õ���ײ㷽�������У����Կ���һ��ʵ��AOP�Ļ���������ProxyFactoryBean�У�
���AOPʵ����Ҫ���� JDK����CGLIB�ṩ��Proxy���ԡ���FactoryBean�л�ȡ������
��getObject()������Ϊ�����ɵġ�Ȼ��Ϊproxy�����������advisor���������������i
nitializeAdvisorChain��������ɵģ�Ȼ���Ϊ���AOP�������������׼��

����֪�����Դ���������ɣ���CGLIB��JDK������ɷ�ʽ����CGLIB�У������������
��ͨ����Cglib2AopProxy��AopProxy ���������ɵ�ʱ���ڻص�DynamicAdvisedInterceptor
������ʵ�ֵģ�����ص���ʵ����intercept��������ɡ����� AOP��������ɶ�Ŀ������
��ǿ�ģ���Щʵ���Ƿ�װ��AOP���������У���һ�������������������ɵġ�����������
�������������µĴ���ʵ������ɵģ���Щ������ReflectiveMethodInvocation�С� 

�ڵ�����������ʱ�����ǽ���ȥ�Ϳ��Կ�����advice��֪ͨ�ĵ��á����һϵ�е�ע�ᣬ
����Ĺ���Ժ������������ص�ʱ�򣬻���õ�Ԥ�úõ�һ��֪ͨ������������֪ͨ��
����������һϵ��Spring��ƺ�Ϊ֪ͨ��������һ�������������֪ͨ���غ�ʵ�ֵ�
�ط����dz��Ĺؼ�

��ΪSpring AOP���?�������Ϊһ��һͳ���µ�AOP��ܣ����Spring��һ��������
�����е�Spring���Ŀ��Ӧ���ǣ�������AOP�����IOC�����Ľ��ܼ��ɣ�ͨ���
AOP����ΪJavaEEӦ�ÿ������������ձ������ṩ����������Ӷ�ΪAOP�û�ʹ��
AOP�����ṩ���ı��������Ƕ���Ϊ Java EE��Ӧ�ÿ�����Ա������û��ʹ��
����AOP���������ʱ��Springͨ��������Proxy���Ժ�CGLIBʵ����AOP�Ļ�
���ܣ����룬�������Spring AOPʵ��ԭ���֪ʶ�������ټ������Ƕ�Դ����ʵ�ֵ�
������������Ϊ�����˽�����AOP�����IOC�����ļ���ԭ�?Ҳ�����˺ܺõĻ���
�����˽�һ��AOP�����������ʵ�ֵġ�
--
�� ��Դ:�������ʵBBS http://bbs.tju.edu.cn [FROM: 202.113.13.188]
Technical Details
Message-ID: <4jEWZE$A0U@bbs.tju.edu.cn>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news.glorb.com!news2.glorb.com!news.netfront.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.byr.edu.cn!TJU

Show Full Headers
Complete Article Headers
X-Google-Thread: d1247dbd28,1f1db5d5bccb164b,start
X-Google-Attributes: gidd1247dbd28,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: Chinese,GB
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news.glorb.com!news2.glorb.com!news.netfront.net!newsgate.cuhk.edu.hk!news.neu.edu.cn!news.byr.edu.cn!TJU
From: cffile.bbs@bbs.tju.edu.cn.no.spam (Chris)
Newsgroups: cn.bbs.comp.lang.java
Subject: Spring������Ļ-AOP
Date: 02 Dec 2009 01:45:02 GMT
Organization: �����ʵBBSվ
Message-ID: <4jEWZE$A0U@bbs.tju.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: Java/M.1259718302.A