지난 포스팅에서는 Filter, Interceptor, AOP 간의 차이점을 알아보았습니다. 이번 포스팅은 JVM 런타임 동안 Spring이 무엇을 하는지 , 어떤 동작을 하고 무슨 준비를 하는지, Weaving과 Proxy의 역할, SOLID의 원칙 중 어떤 것이 적용되는지 알아보겠습니다. 첫째로 Weaving이 무엇인지 알아보겠습니다. Weaving Advice를 핵심 로직에 적용하는것을 의미하며 3가지 방식이 존재합니다. Compile-time Weaving Load-time에 대한 절차가 없어서 성능 하락 없이 구성이 가능합니다. Lombok과 같은 Compile Weaving 시 간섭하는 Plugin들과 충돌이 발생합니다. Class Load-time Weaving Application Cont..