Je voudrais demander comment dois-je charger le bean (défini dans l'application xml) dans ma classe de service dans l'application Spring. J'ai essayé de le charger à l'aide (et des solutions simillar):Spring - impossible de charger les informations du bean en service
public class MyService {
public void myMethod() {
ApplicationContext context = new ClassPathXmlApplicationContext("security-config.xml");
LdapPersonDAO ldapPersonDAO = (LdapPersonDAO) context.getBean("ldapPersonDAO");
}
}
sécurité config.xml
<bean id="ldapPersonDAO" class="shdb.ldap_sync.dao.LdapPersonDAO">
<property name="ldapTemplate" ref="ldapTemplate" />
</bean>
mais pas de solution fonctionne pour moi. Y a-t-il une solution standard?
Merci pour toute aide,
Mateo
Je suis désolé que je n'ai pas fourni le message d'erreur J'ai pensé que je me trompe donc le message d'erreur ne serait pas nécessaire. Quoi qu'il en soit, le problème persiste toujours. J'ai mon security-config.xml dans le dossier WEB-INF/spring donc j'ai essayé toutes les combinaisons possibles de path et l'erreur est toujours la même org.springframework.beans.factory.BeanDefinitionStoreException: IOException analyse le document XML à partir du chemin de la classe ressource [security-config.xml]; Causée par: java.io.FileNotFoundException: la ressource de chemin de classe [security-config.xml] ne peut pas être ouverte car elle n'existe pas Existe-t-il une solution? – Mateo
Je l'ai résolu en suivant vos conseils. J'ai chargé le grain directement à l'endroit où j'en ai besoin (contrôleur) et cela fonctionne. J'ai utilisé le code suivant: WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext (request.getSession(). GetServletContext()); LdapPersonDAO ldapPersonDAO = (LdapPersonDAO) webApplicationContext.getBean ("ldapPersonDAO"); – Mateo