在AOP(面向切面编程)中,*和..是用来匹配切点表达式中的方法或类的通配符。

  1. :表示匹配任意字符,可以用于匹配方法名或类名的一部分。例如,execution( com.example.service.Service.(..)) 表示匹配com.example.service包下以Service结尾的类的任意方法。

  2. ..:表示匹配任意字符或路径,可以用于匹配多级的包或类。例如,execution(* com.example..Service.(..)) 表示匹配com.example包及其子包下以Service结尾的类的任意方法。

区别:

  • *只能匹配单个字符或一部分,而..可以匹配多个字符或路径。
  • *只能匹配一个层级,而..可以匹配多个层级。
  • *适用于匹配方法名或类名的一部分,..适用于匹配包名或类路径的一部分。
  • 和..可以组合使用,以实现更精确的匹配条件。例如,execution( com.example..Service.get(..)) 表示匹配com.example包及其子包下以Service结尾的类的以get开头的任意方法
在AOP中和有什么区别

原文地址: http://www.cveoy.top/t/topic/i1cq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录