初接触SpringAOP,一些简单的基础知识

        IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP)。

  在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP 最大问题就是无法解耦组件进行开发,比如我们上边举例,而 AOP 就是为了克服这个问题而出现的,它来进行这种耦合的分离。AOP 为开发者提供一种进行横切关注点(比如日志关注点)分离并织入的机制,把横切关注点分离,然后通过某种技术织入到系统中,从而无耦合的完成了我们的功能。


AOP图

(1)定义目标接口

            

(2)定义目标接口实现类

        

(3)定义切面支持类

            

(4)在XML中进行配置

                

        切入点使用标签下的配置, expression属性用于定义切入点模式,默认是AspectJ语法,“ execution(* cn.javass..*.*(..))”表示匹配cn.javass包及子包下的任何方法执行。关于expression属性如何配置请点击:expression配置

       切面使用标签下的标签配置,其中“ ref”用来引用切面支持类的方法。

        前置通知使用标签下的标签来定义, pointcut-ref属性用于引用切入点Bean, 而method用来引用切面通知实现类中的方法,该方法就是通知实现,即在目标类方法执行之前调用的方法。

            最终通知使用标签下的标签来定义,切入点除了使用pointcut-ref属性来引用已经存在的切入点,也可以使用pointcut属性来定义,如pointcut="execution(* cn.javass..*.*(..))", method属性同样是指定通知实现,即在目标类方法执行之后调用的方法。

(5)测试运行

                    

(6)输出结果

                            

你可能感兴趣的:(初接触SpringAOP,一些简单的基础知识)