AOP整理

简介:使用OOP编程有一些弊端,当需要为多个不具有继承关系的对象引入一个公共行为时,例如日志、

安全检测时,我们只有在每个对象中引入公共行为,如此产生了大量重复代码。所以AOP改善了这些缺陷

在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut”切入点”。

@Pointcut 注解

Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合.

args()

@args()

execution()

this()

target()

@target()

within()

@within()

@annotation()

其中 execution语法为execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?)
中文为:execution(<修饰符模式>? <返回类型模式> <方法名模式>(<参数模式>) <异常模式>?)

returning type pattern,name pattern, and parameters pattern是必须的.

ret-type-pattern:可以为*表示任何返回值,全路径的类名等.

name-pattern:指定方法名,代表所以,set,代表以set开头的所有方法.

parameters pattern:指定方法参数(声明的类型),(..)代表所有参数,()代表一个参数,(,String)代表第一个参数为任何值,第二个为String类型.

posted @ 2018-09-29 15:27  刘莹小西瓜  阅读(143)  评论(0编辑  收藏  举报