《Spring源码深度解析》学习笔记-AOP

 

1.动态AOP使用示例
    1)创建用于拦截的bean
    2)创建Advisor
    3)创建配置文件
    4)测试

2.动态AOP自定义标签
    1)注册AnnotationAwareAspectJAutoProxyCreator
        所有解析器都是对BeanDefinitionParser接口的统一实现,入口从parse函数开始
    《Spring源码深度解析》学习笔记-AOP_第1张图片    

3.创建AOP代理

/*忽略

@#¥%#¥¥%%#@##@#¥¥!!!!通过截图软件把相关代码截到一张图,事实证明不能这样干,截完图开始对着在图上打笔记,最终保存的时候,保存不了@#¥%……Y$$$$闪退了,一切前功尽弃,从新来一遍吧,重新编辑图片,编辑一下就保存,测试没问题,然后一点一点往图上加注释,OK,最终保存,又闪退....................

nothing to say!!! hao xiang ma ren !!!

*/

4 静态AOP 使用示例
加载时织人(Load-Time Weaving, LTW)指的是在虚拟机载入字节码文件时动态织人
AspectJ切面。Spring 框架的值添加为 AspectJ LTW在动态织入过程中提供了更细粒度的控制。
如果想从动态代理的方式改成静态代理的方式需要做如下改动。
(1)Spring全局配置文件的修改, 加入LWT开关。
(2)加入aop.xml
(3)加入启动参数

5 创建AOP静态代理
(1)Instrumentation 使用
    Java在1. 5引人java. lang. instrument, 你可以由此实现一个Java agent, 通过此agent 来修改 
    类的字节码即改变一个类
(2)自定义标签 
    在Spring 中如果需要使用 AspectJ的功能, 首先要做的第一步就是在配置文件中加人配置:
    。我们根据之前介绍的自定义命名空间的知识便可以推断, 引用 
    AspectJ的人口便是这里, 可以通过查找load-time-weaver 来找到对应的自定义命名处理类。
 

 

你可能感兴趣的:(Spring)