在AOP中和有什么区别
在AOP(面向切面编程)中,*和..是用来匹配切点表达式中的方法或类的通配符。
-
:表示匹配任意字符,可以用于匹配方法名或类名的一部分。例如,execution( com.example.service.Service.(..)) 表示匹配com.example.service包下以Service结尾的类的任意方法。
-
..:表示匹配任意字符或路径,可以用于匹配多级的包或类。例如,execution(* com.example..Service.(..)) 表示匹配com.example包及其子包下以Service结尾的类的任意方法。
区别:
- *只能匹配单个字符或一部分,而..可以匹配多个字符或路径。
- *只能匹配一个层级,而..可以匹配多个层级。
- *适用于匹配方法名或类名的一部分,..适用于匹配包名或类路径的一部分。
- 和..可以组合使用,以实现更精确的匹配条件。例如,execution( com.example..Service.get(..)) 表示匹配com.example包及其子包下以Service结尾的类的以get开头的任意方法
原文地址: http://www.cveoy.top/t/topic/i1cq 著作权归作者所有。请勿转载和采集!