ciao!

sto facendo qualche test sul caching in spring boot.
ho aggiunto queste dipendenze:
codice:
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>6.2.3</version>
		</dependency>


		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>6.2.3</version>
		</dependency>


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-cache</artifactId>
			<version>3.3.2</version>
		</dependency>
ho attivato il caching:
codice:
@SpringBootApplication
@EnableCaching
public class TestSpringbootJavaApplication {


	public static void main(String[] args) {
		SpringApplication.run(TestSpringbootJavaApplication.class, args);
	}


}
ho creato un model che poi rappresenterà la mia tabella:
codice:
@Getter
@Setter
@AllArgsConstructor
public class Persona {
  private Long id;
  private String email;
}
ho creato un service che poi farà una query sul db:
codice:
@Service
public class PersonaService {


  @Cacheable(value = "persone", key = "#id")
  public Persona getById(Long id) {
    // DO STUFF
    CacheManager cacheManager = new SimpleCacheManager();
    Cache cache = cacheManager.getCache("persone");




    return new Persona(id, "email@email.it");
  }
}
ecco, qui vorrei capire.
l'eventuale controllo che i dati siano in cache li fai la libreria in autonomia?
come faccio eventualmente a controllare che ci sia già qualcosa in cache?

per completezza il controller:
codice:
@RestController
@RequestMapping(path = "/test")
public class TestController {


  @Autowired
  PersonaService service;


  @GetMapping(path = "/", produces = MediaType.APPLICATION_JSON_VALUE)
  @ResponseStatus(HttpStatus.OK)
  public String index() {
    Persona persona = service.getById(10L);


    JSONObject obj = new JSONObject();
    obj.put(persona.getId(), persona.getEmail());


    return String.valueOf(obj);
  }


}