Spring5 Spring JDK Dynamic Proxy vs CGLIB 차이점 회사에 입사 후 서비스 중인 Spring 프로젝트들의 코드를 보면 구현체가 하나이지만 인터페이스를 같이 정의해둔 Service 클래스들을 볼 수 있었습니다. 그 당시에는 왜 굳이 인터페이스도 같이 만들어줘야 하는지, (Spring boot 2.X 기준으로) 이제는 왜 같이 안만들어줘도 되는지 몰랐지만, 이제 알게되어 정리를 해봅니다. Proxy 객체 Spring IoC 컨테이너에서는 내부적으로 빈에 대한 Proxy 객체를 생성하여 관리하고 있습니다. 대표적으로 @Async, @Transaction 어노테이션을 사용하게 되면 Proxy 객체가 생성되고, 해당 메소드를 호출하게 되면 실제로는 Proxy 객체의 메소드가 호출되어 비동기나 트랜잭션 로직을 수행하게 됩니다. 이때 Proxy 객체를 생성하는 방법은.. 2020. 6. 14. 이전 1 2 다음