spring aop浅谈

「爱情、让人受尽委屈。」 2022-07-12 13:07 240阅读 0赞

前两篇博客我讲解了Class类、java反射以及动态代理,其实都是为了写今天的spring aop模式做的准备,在我看来,一些小白直接看一些大神写的关于spring aop的博客时会感觉:啊,怎么这么难啊,都是什么原理啊,云里雾里的,其实只是底层用到的一些技术没有搞明白罢了。其实只要你懂了动态代理的原理,再看一下spring aop,它纯粹的只是配置动态代理的各个代理对象了,代理了,切入点了,只是一堆配置罢了,只要明白了它运行的流程,其实本身的难点都是在动态代理的概念。
先将这些关键性的词熟悉一下
● 切面,业务流程运行的某个特定步骤,就是运行过程的关注点,关注点可能横切多个对象。
● 连接点,程序执行过程中明确的点,如方法的调用或异常的抛出。Spring AOP中,连接点总是方法的调用,Spring并没有显式地使用连接点。
● 处理(Advice),AOP框架在特定的连接点执行的动作。处理有around、before和throws等类型。大部分框架都以拦截器作为处理模型。
● 切入点,系列连接点的集合,它确定处理触发的时机。AOP框架允许开发者自己定义切入点,如使用正则表达式。
● 引入,添加方法或字段到被处理的类。Spring允许引入新的接口到任何被处理的对象。例如,可以使用一个引入,使任何对象实现IsModified接口,以此来简化缓存。
● 目标对象,包含连接点的对象。也称为被处理对象或被代理对象。
● AOP代理,AOP框架创建的对象,包含处理。简单地说,代理就是对目标对象的加强。Spring中的AOP代理可以是JDK动态代理,也可以是CGLIB代理。前者为实现接口的目标对象的代理,后者为不实现接口的目标对象的代理。

这些讲的都非常清楚,只要把这些概念搞明白了,然后一一对应配置就OK啦。
至于aop的用处,真的,只要是一些与实际业务无关的但是一些涵盖面广的都需要啦,比如:Authentication 权限,Caching 缓存,Context passing 内容传递,Error handling 错误处理,Lazy loading 懒加载,Debugging  调试,logging, tracing, profiling and monitoring 记录跟踪 优化 校准,Performance optimization 性能优化,Persistence  持久化,Resource pooling 资源池,Synchronization 同步,Transactions 事务等等的啦。
具体的实现方式代码介绍个博客网址:
http://blog.csdn.net/udbnny/article/details/5870076
写的很详细,只要一步一步的配置就OK啦;

发表评论

表情:
评论列表 (有 0 条评论,240人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring AOP

    > AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。⽐如⽤户登录权限的效验,没学 AOP 之前,我们所

    相关 Spring

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。 一、什么是IOC? IoC = Inversion of Control 翻译成中⽂是

    相关 spring

    常用注解: @Component (不推荐使用):注册一个bean到spring,一般使用前三个来指示不同层的bean @Autowired @Resource @R