在spring aop中的拦截多个方法的execution表达式怎么写

2024-11-28 13:32:54
推荐回答(3个)
回答(1):

execution表达式:
*execution(Integer com.c51.service.UserServiceImpl.abc(Integer,String,com.entity.User))
返回值:Integer
包:com.c51.service
类:UserServiceImpl
方法:abc
参数表:Integer,String,com.entity.User

*execution(* com.c51.service.UserServiceImpl.abc(..))
返回值:任意
包:com.c51.service
类:UserServiceImpl
方法:abc
参数表:任意

*execution(* com.c51.service.UserServiceImpl.*(..))
返回值:任意
包:com.c51.service
类:UserServiceImpl
方法:任意
参数表:任意

*execution(* com.c51.service.*.*(..))
返回值:任意
包:com.c51.service
类:任意
方法:任意
参数表:任意

*execution(* *(..))
返回值:任意
包:任意
类:任意
方法:任意
参数表:任意

*原则:表达式,尽量精确,避免设计之外的切入。
*技巧:
execution(* com.c51.service.UserServiceImpl.*User*(..))
返回值:任意
包:com.c51.service
类:UserServiceImpl
方法:含有“User”
参数表:任意

回答(2):

execution(* pp.business.*.*(..)) or execution(* pp.business.impl.*.*(..))

回答(3):

expression="execution(* com.clouddrive.baseManage.service.impl..*.*(..)) " 改一下这里啊