我已经搜索了它,但没有得到我所需的答案,包括扫描基本包和排除子包。
例如:项目结构
MyTest
--src/main/java
----com.spring
----com.spring.controller
----com.spring.entity
----com.spring.repository
----com.spring.service
----com.spring.service.dto
----com.spring.repo.dto
----com.spring.repo.dto.v2
----com.spring.service.dto.v2
----com.spring.service.pojo
我想写一个切入点,在这里我将扫描基本包com.spring
,并希望排除dto
子包。
下面是我的尝试:
basePkg="com.spring";
"execution(* " + basePkg + ".service.*.*(..))" + " && !execution(* *.dto.*(..))" ;
这不包括dto,但仅包括扫描服务包。注意:我不想包括所有需要的pkg手动,因为可能有(实际上是)在项目中的pkg数量。
"execution(* " + basePkg + "..*.*(..))" + " && !execution(* *.dto.*(..))" ;
"execution(* " + basePkg + "..*.*(..))" + " && !execution(* " + basePkg + "..*.dto.*.*(..))"
上面我扫描了所有包,并试图排除dto子包...但它扫描所有包没有dto排除。
我需要一些指导。
编辑:
一般来说,Spring应用程序有一个基础包,并在相应的子包中添加业务。这里我给出了com.spring。因此,我需要在其所有子包中建议所有方法,如果我想排除任何子包(com. spring. dto/com. spring. service. dto/com. spring. service. dto. v2/com. spring. repo. dto/com. spring. repo. dto. v2等),我应该能够排除这些,因为其所有子包都有共同的dto子包。
请参考我的项目包。我需要一个通用的添加或删除不是个别子到子包
1条答案
按热度按时间8yparm6h1#
您的项目结构
这就是从poincut中排除dto的方法
对于上述问题中的项目结构
这个切入点会有用的-
或
与一样,上面的切入点匹配com.spring包及其子包中的任何方法,除了包名称中有dto的方法。
方法的示例与切入点匹配
该方法的示例不会与切入点匹配