Quote Originariamente inviata da andbin Visualizza il messaggio
No, non funziona così il caching in Spring. Spring crea un "proxy" che intercetta le chiamate al tuo service. Quando altrove fai un @Autowired del tuo PersonaService, non inietti direttamente la istanza del tuo service, ma inietti il proxy!

La logica del proxy per quel metodo @Cacheable è semplice: l'oggetto è già in cache per quella certa chiave?
No -> allora chiama il tuo getById reale e poi mette in cache il risultato prima di restituirlo.
Sì -> allora restituisce direttamente l'oggetto cachato e NON invoca più il tuo getById reale.
ciao!

ok in sostanza è come immaginavo, "fa tutto da solo".

grazie per la risposta e la spiegazione!!