SpringMVC est livré avec un espace de noms « mvc » géré par (sans surprise) « MvcNamespaceHandler », défini comme ceci:Est-il possible de remplacer un gestionnaire Spring Namespace?
public class MvcNamespaceHandler extends NamespaceHandlerSupport {
public void init() {
registerBeanDefinitionParser("annotation-driven", new AnnotationDrivenBeanDefinitionParser());
registerBeanDefinitionParser("default-servlet-handler", new DefaultServletHandlerBeanDefinitionParser());
registerBeanDefinitionParser("interceptors", new InterceptorsBeanDefinitionParser());
registerBeanDefinitionParser("resources", new ResourcesBeanDefinitionParser());
registerBeanDefinitionParser("view-controller", new ViewControllerBeanDefinitionParser());
}
}
Je voudrais modifier le comportement de l'espace de noms afin que mvc: ressources L'élément est géré par un CustomBeanDefinitionParser personnalisé (dans mon cas, pour remplacer un ResourcesHttpRequestHandler, créé par l'analyseur de définition du bean, avec une implémentation personnalisée).
Je voudrais savoir s'il est possible de le faire sans passer par les tracas de la création d'un nouvel espace de noms (comme décrit ici http://static.springsource.org/spring/docs/2.0.x/reference/extensible-xml.html).
Merci!
Les fichiers JAR ne sont pas nécessairement chargés dans l'ordre alphabétique des noms. Cela peut fonctionner pour vous à cette occasion, mais tout pourrait mal tourner si vous ajoutez une autre bibliothèque, déplacez les fichiers JAR vers un nouveau système de fichiers, ... – Kkkev
Bon conseil. Je vais essayer de résoudre cela de manière plus résiliente. – user1607938