Spring之AOP(一)

来源:互联网 发布:淘宝怎么催客人下订单 编辑:程序博客网 时间:2024/04/29 18:24
***横切关注点:在软件开发中,分布于应用中多出的功能被称为横切关注点;
将横切关注点与业务逻辑相分离正是面向切面编程所要解决的;
依赖注入有助于应用对象之间的解耦,而AOP可以实现横切关注点与他们所影响的对象之间的解耦;
继承为委托是最常见的实现重用通用功能的面向对象技术;

切面:横切关注点可以被模块化为特殊的类,这些类被称为切面;
好处:1.每个关注点现在都只集中与一点,而不是分散到多处代码中,
           2.要关注的代码被转移到切面中了;

Aop术语:
通知(advice)
连接点(Joinpoint)
切点(Pointcut)
切面(Aspect)
引入(introduction)
织入(Weaving)
Spring提供了四种Aop支持;
1.基于代理的经典AOp;
2.@AspectJ注解驱动的切面;
3.纯POJO切面;
4.注入式AspectJ的切面

切点和通知是切面最基本元素

***编写切点:在我看来,切点就像断点一样,插入到链接点之间,然后在切点前后插入通知,也就是类似于触发事件;
例如: execution(*com.springination.springidol.Instrument.play(..))
分析:*代表我们并不关心方法返回值的类型。
           (..)标识切点选择任意的play()方法,无论该方法的入参是什么
这样就是编写了一个切点了。当然,还可以将多个切点通过与或非连接在一起(一般两个);

***在xml中申明切面
前面我们已经知道了如何编写切面,下面就是在Xml中声明切面
下面这个是配置文件

下面是观众类

        
0 0
原创粉丝点击