Desidero utilizzare le annotazioni jsf e alcune note di primavera per iniettare un bean/servizio spring in un bean jsf gestito. (sul jsf bean voglio solo usare le annotazioni jsf) Non voglio usare annotazioni come @named
/@inject
.JSF 2 inject bean Spring/service con @ManagedProperty e no xml
Ho provato a trovare una soluzione in rete ma senza fortuna.
Esempio
@ManagedBean
@ViewScoped
public class MyBean {
@ManagedProperty(value = "#{mySpringBean}")
private MySpringBean mySpringBean;
public void setMySpringBean(MySpringBean mySpringBean) {
this.mySpringBean = mySpringBean;
}
public void doSomething() {
//do something with mySpringBean
}
}
è qualcosa di simile possibile senza l'uso di XML. Ad esempio, non vorrei usare qualcosa come
FacesContextUtils.getWebApplicationContext(context).getBean("MySpringBean");
o in faces-config.xml
<managed-bean>
<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>com.mytest.MyBean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>mySpringBean</property-name>
<value>#{mySpringBean}</value>
</managed-property>
</managed-bean>
è qualcosa di simile sopra possibile con le annotazioni e senza definire tutti i fagioli JSF/proprietà e la molla fagioli/proprietà per ogni bean nei file config xml?
divertente, ho utilizzare questo metodo di iniezione e funziona per me, ma poi ho anche includere l'iniezione di proprietà della mia 'applicationContext.xml' pure. Il resolver EL Spring non sembra funzionare con i bean ViewScoped che ho notato. Prova a cambiarlo in SessionScoped e verifica se la proprietà viene iniettata. –
Voglio evitare applicationContext.xml (sono un po 'testardo! Grazie) Ma grazie :) – Dimman