![](/img/trans.png)
[英]how does <aop:aspectj-autoproxy proxy-target-class=“true”/> really work?
[英]SpringBoot AOP + Kotlin: Annotation with target class and Aspectj does not work
我正在尝试创建一个方面 class ,它使用 after 或 before 类型的方法,找到目标 class 注释并在实例化时打印文本但它不起作用。
注解
package com.example.demo
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
annotation class AutoGenerateCode()
方面
package com.example.demo
import org.aspectj.lang.JoinPoint
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Before
import org.springframework.stereotype.Component
@Aspect
@Component
class AutoGenerateCodeAspect {
@Before("@annotation(AutoGenerateCode)")
fun before(joinPoint: JoinPoint) {
println("\n\nBEFORE\n\n")
}
}
Dto class
package com.example.demo
@AutoGenerateCode
class FakeDto {
val id = ""
}
主要的
package com.example.demo
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.EnableAspectJAutoProxy
@SpringBootApplication(scanBasePackages = ["com.example"])
@EnableAspectJAutoProxy
class DemoApplication
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
val fakeDto = FakeDto()
println(fakeDto)
}
这会打印 FakeDto class 的 object,但不会打印消息“BEFORE”
版本:
请帮忙
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.