Bonjour,
je cherchais comment initialiser un bean JSF de scope session, c'est à dire par exemple remplir des listes de données de références pour mes selectMenu, etc.
Pour ces initialisations j'utilise des services injectés par Spring dans les faces-config. Et le problème c'est que j'avais prévu de faire mes initialisations dans le constructeur de mon managed-bean.
Or les services à ce moment ne sont pas encore injectés et je ne peux pas les utiliser sous peine d'une NPE.
J'ai donc utilisé l'annotation @PostConstruct sur une méthode d'init distincte du constructeur. Ca marche très bien.
Puisque cette annotation @PostConstruct appartient au package javax.annotation, elle n'a a priori rien à voir avec les JSF ni avec Spring.
Je sais qu'avec Spring on peut définir une méthode appelée après le constructeur d'un bean. Est-ce qu'il existe un mécanisme similaire propre à JSF ?
Pour info je suis tombé sur ce post et celui-ci. Le premier n'apporte pas beaucoup d'info supplémentaire, et le second est pour moi un usage détourné du setter d'une propriété qui relève un peu de la bidouille, même si ça marche.
Comment faites-vous pour réaliser les initialisations de vos controller JSF dans ce genre de configuration ?
Partager