据我所知,每当我使用bean的接口时,都应使用JDK Dynamic Proxies代替CGLIB。为了安全起见,我确保我在Spring Boot应用程序的类路径中甚至没有CGLIB。 但是,当我的控制器实现一个接口时,我在堆栈跟踪中看到了这一点(更别提堆栈跟踪,因为它是一个验证错误):
at com.yuranos.documented.api.controllers.BookingControllerImpl.convertToDto(BookingControllerImpl.java:57)
at com.yuranos.documented.api.controllers.BookingControllerImpl.getBookingById(BookingControllerImpl.java:29)
at com.yuranos.documented.api.controllers.BookingControllerImpl$$FastClassBySpringCGLIB$$890fcd8a.invoke(<generated>)
更令人困惑的是,当我删除界面时,这个奇怪命名的代理消失了:
at com.yuranos.documented.api.controllers.BookingControllerImpl.convertToDto(BookingControllerImpl.java:60)
at com.yuranos.documented.api.controllers.BookingControllerImpl.getBookingById(BookingControllerImpl.java:32)