开发项目中经常会使用spring的AOP切面功能,用XML配置或注解的方式都可以。
不管用那种方式都要定义pointcut切入点
例如:常用的一种表达式是如
execution (* com.db.dao..*.*(..))
整个表达式可以分为五个部分:
1、execution(): 表达式主体。
2、第一个*星号:表示返回类型,星号表示所有的类型。注意星号后面有个空格。
3、包名com.db.dao:表示需要拦截的包名,只拦截这个包,其他包不拦截。
报名后面的两个句点表示当前包和当前包的所有子包,com.db.dao包、子孙包下所有类的方法。
4、第二个*号:表示类名,星号表示所有的类。
5、*(..)最后这个星号表示方法名,星号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
可在spring官网详细查阅相关用法: https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html
.