【Spring】—— AOP切入点表达式(*和..使用)


切入点表达式是对要进行增强的方法的描述方式。

标准格式:
动作关键字(访问修饰符  返回值  包名.类/接口名.方法名(参数))
execution(void com.spring.dao.BookDao.update())

*和..的使用

可以使用通配符描述切入点,快速描述:

*  :单个独立的任意符号,可独立出现,也可作为前缀或后缀匹配符出现

execution(public  *  com.spring.*.UserService.find*(*))

以上可以匹配com.spring包下的任意包中的UserService类或接口所有以find开头的带有一个参数的方法,注意方法必须带参数。

..  :多个连续的任意符号,可独立出现,常用于简化包名和参数的书写

execution(public  User  com..UserService.findById(..))

以上可以匹配com包下的任意包中的UserService类或接口中所有名称为findById的方法,注意对参数无要求,可有可无。

书写规范

  • 描述切入点通常描述接口,而不是实现类
  • 访问控制修饰符采用public描述(可省略)
  • 包名书写尽量不使用..匹配,效率低,常用*做单个包描述匹配或精准匹配
  • 接口或类名采用*匹配,不对名称做具体描述,如:UserService写成*Service
  • 方法名中的名词采用*匹配,如getById写成getBy*,此处的Id可能为name、age等等。

 

你可能感兴趣的:(Spring,spring,java,后端)