【发布时间】:2020-07-01 13:02:03
【问题描述】:
我在 pom.xml 中添加了以下依赖项
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>
我有一个扩展抽象控制器的控制器
// actual controller
@RestController
@RequestMapping("/testContoller/v1")
class TestController: AbstractTestController()
// abstract class
abstract class AbstractTestController {
@GetMapping("/test")
fun testFunction():String {
return "hello"
}
}
方面类
@Aspect
@Configuration
class TestAspect {
@Around(
"execution(* com.test.project.controllers.TestController.*(..) )"
)
fun testIntercept(joinPoint: ProceedingJoinPoint): Any? {
return joinPoint.proceed()
}
}
现在,我想通过TestController 为AbstractTestContoller 上的所有方法执行创建一个切入点。我该怎么做?
我试过了:
"execution(* com.test.project.controllers.TestController.*(..) )"
"execution(* com.test.project.controllers.TestController+.*(..) )"
"execution(* com.test.project.controllers.AbstractTestController.*(..) )"
"execution(* com.test.project.controllers.AbstractTestController+.*(..) )"
"within(com.test.project.controllers.TestController)"
"within(com.test.project.controllers.TestController+)"
"within(com.test.project.controllers.AbstractTestController)"
"within(com.test.project.controllers.AbstractTestController+)"
这些都不起作用
【问题讨论】:
-
您的项目结构如何?请确认
Aspect是否被组件扫描自动检测到
标签: spring-boot kotlin aop aspectj spring-aop