开发者社区 问答 正文

spring aop配置,求大神

 aop配置切面的时候如何在expression中设置增删改开头的方法都进行切面处理 
execution(* com.xyz.service.AccountService.add*(..)) execution(* com.xyz.service.AccountService.delete*(..)) execution(* com.xyz.service.AccountService.update*(..))

展开
收起
huc_逆天 2020-05-28 09:16:40 406 分享 版权
阿里云 AI 助理回答

在Spring AOP中,如果你想配置一个切面(Aspect)以拦截所有以"add"、"delete"或"update"开头的方法,可以使用正则表达式来简化你的pointcut表达式,而不是分别列出每个方法。这样可以更加高效且易于维护。

你可以使用以下的execution表达式来实现这个需求:

execution(* com.xyz.service.AccountService.*(add|delete|update)*(..))

这里的正则表达式(add|delete|update)匹配以"add"、"delete"或"update"开头的任何方法名,*表示方法名之后可以有任意数量的字符(包括没有字符),而..表示该方法可以接受任意数量和类型的参数。

这样配置后,所有在com.xyz.service.AccountService类中,方法名以"add"、"delete"或"update"开头的方法调用时,都会触发定义的切面逻辑。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: