Le recours à l'emploi de caches dans nos projets permet d'améliorer significativement les performances.
Dans ce billet contrairement à celui-ci nous ne codons rien dans la partie métier pour éviter le couplage.
Spring sait rendre les choses simples plus simples et les choses complexes possibles.
Un cache sert à optimiser les accès aux données néanmoins ce n'est la solution miracle à tous les problèmes de performances.
Mais une fois mis en œuvre à bon escient, on se demande comment peut-on s'en passer.
Donc depuis Spring 3.1, implémenter une gestion de cache devient possible sans trop écrire du code.
La démo ci-après, sans aborder les détails d'implémentation de la couche DAO, présente un exemple concret de mise en (EH)cache.
Sachez néanmoins que les illustrations données reposent sur une implémentation basée sur spring-data.
Spring offre une implémentation light de mise en cache qui ne peut satisfaire les besoins de nos projets.
C'est pour cette raison qu'ici nous utilisons Ehcache.
L'annotation @Cacheable de Spring apposée sur les méthodes (finder par exemple) suffit.
L'AOP Spring rend la gestion du cache facile à l'instar des transactions déclaratives.