유형을 제공하지 않고 지정자 를 사용하여 Spring AOP
작성하려고 할 때를 사용하면 다음으로 시작하는 일련의 예외가 발생합니다.Pointcut
args
BeanCurrentlyInCreationException
예
object _001_Spring_AOP_Pointcut_Args_NoArgs {
open class BeanA {
open fun m() {
println("BeanA#m()")
}
}
@Aspect
class AspectA {
@Pointcut("args()")
private fun pc_noArgs() = Unit
@After("sero4.spring.z_added._001_Spring_AOP_Pointcut_Args_NoArgs.AspectA.pc_noArgs()")
private fun ac_noArgs() = println("ac_noArgs")
}
@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
open class Config {
@Bean
open fun beanA(): BeanA = BeanA()
@Bean
open fun aspectA(): AspectA = AspectA()
}
fun runJava() {
AnnotationConfigApplicationContext(Config::class.java)
}
}
실행 방법
@Test
fun test_run() {
_001_Spring_AOP_Pointcut_Args_NoArgs.runJava()
}
예외 요약
컨텍스트 초기화 중 예외 발생-새로 고침 시도 취소 : org.springframework.beans.factory.BeanCreationException : sero4.spring.z_added._001_Spring_AOP_Pointcut_Args_NoArgs $ Config에 정의 된 이름이 'beanA'인 빈 생성 오류 : 팩토리 메서드를 통한 빈 인스턴스화 실패; 중첩 된 예외는 org.springframework.beans.BeanInstantiationException입니다. [sero4.spring.z_added._001_Spring_AOP_Pointcut_Args_NoArgs $ BeanA]를 인스턴스화하지 못했습니다. 팩토리 메소드 'beanA'에서 예외가 발생했습니다. 중첩 된 예외는 org.springframework.beans.factory.BeanCreationException : sero4.spring.z_added._001_Spring_AOP_Pointcut_Args_NoArgs $ Config에 정의 된 이름이 'aspectA'인 빈 생성 오류 : 팩토리 메서드를 통한 빈 인스턴스화 실패; 중첩 된 예외는 org.springframework.beans.BeanInstantiationException입니다. 인스턴스화 실패 [sero4.spring.z_added._001_Spring_AOP_Pointcut_Args_NoArgs $ AspectA] : 팩토리 메소드 'aspectA'에서 예외가 발생했습니다. 중첩 된 예외는 org.springframework.beans.factory.BeanCurrentlyInCreationException : 이름이 'aspectA'인 Bean 생성 오류 : 요청 된 Bean이 현재 생성 중입니다. 확인할 수없는 순환 참조가 있습니까?