Spring 4 : ‘Bean Aliasing’ ou comment personnaliser des beans de composants externes

logo-spring-highres

Dans certaines situations, nous souhaitons pouvoir redéfinir (décorer) un bean spring défini dans un composant externe non modifiable (ou non souhaitable de le modifier).

C'est le cas d'un projet complexe multi-modules, où nous voulons, pour les tests d'intégration, redéfinir des beans dataSource sans dupliquer ni le code ni xml.

Cela est possible avec spring via l'annotation @Bean  (ou le tag <alias) en précisant plusieurs valeurs à l'attribut "name". Nous donnons plus de détails ci-après.