Bonjour,
Toujours sur le sujet Icefaces + Spring, je me pose quelques questions sur la meilleure façon d'utiliser mes Services spring depuis un bean JSF.
Actuellement j'utilise une classe lookup du genre :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class ServiceFinder
{
public static Object findBean(String beanName)
{
FacesContext context = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) context.getExternalContext().getContext();
ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
Object obj = appContext.getBean(beanName);
return obj;
}
} |
Je pourrais simplement me créer par dessus une classe avec des accesseurs plus typés pour bénéficier de méthodes telles que
CustomerService qqch = MyServiceFinder.GetCustomerService();
Ce serait une première solution que je trouve pas inélégante, par contre je ne réalise pas les inconvénients qu'elle peut avoir niveau performance ou autres...
J'ai vu aussi l'approche décrite dans la faq qui consiste à injecter le bean spring dans une propriété du managed bean déclarativement dans faces-config...
Est-ce mieux?
Et surtout, n'existe-t-il pas une possibilité de réaliser l'injection par annotation d'une propriété dans le managed bean?
Partager