# Four ways to call a @Cacheable method, one of which caches nothing injected bean class : com.ankurm.caching.selfinvocation.CatalogService$$SpringCGLIB$$0 is an AOP proxy? : true is a CGLIB proxy? : true target class : com.ankurm.caching.selfinvocation.CatalogService Four ISBNs, two of them repeats. A working cache does 2 lookups, not 4. this.lookup(..) -> 4 repository calls <- no caching at all self.getObject().lookup(..) -> 2 repository calls AopContext.currentProxy() -> 2 repository calls a second bean calls lookup(..) -> 2 repository calls