In my Spring 3.1 application, I sometime need to change the default behavior of some of the Spring namespaces in my context files. To do that, I create custom classes that i
Every Spring namespace has an associated NamespaceHandler implementation. The namespace schemas are mapped to schema files inside Spring JARs in various spring.schemas
files (see also Spring DI applicationContext.xml how exactly is xsi:schemaLocation used?).
The XML schema namespaces are also mapped to handler classes in spring.handlers
files (several as each Spring JAR might introduce different namespaces). For your convenience here is a list of most common namespaces:
aop
- AopNamespaceHandlerc
- SimpleConstructorNamespaceHandlercache
- CacheNamespaceHandlercontext
- ContextNamespaceHandlerjdbc
- JdbcNamespaceHandlerjee
- JeeNamespaceHandlerjms
- JmsNamespaceHandlerlang
- LangNamespaceHandlermvc
- MvcNamespaceHandleroxm
- OxmNamespaceHandlerp
- SimplePropertyNamespaceHandlertask
- TaskNamespaceHandlertx
- TxNamespaceHandlerutil
- UtilNamespaceHandlersecurity
- SecurityNamespaceHandleroauth
- OAuthSecurityNamespaceHandlerint
- IntegrationNamespaceHandleramqp
- AmqpNamespaceHandlerevent
- EventNamespaceHandlerfeed
- FeedNamespaceHandlerfile
- FileNamespaceHandlerftp
- FtpNamespaceHandlergemfire
- GemfireIntegrationNamespaceHandlergroovy
- GroovyNamespaceHandlerhttp
- HttpNamespaceHandlerip
- IpNamespaceHandlerjdbc
- JdbcNamespaceHandlerjms
- JmsNamespaceHandlerjmx
- JmxNamespaceHandlermail
- MailNamespaceHandlerredis
- RedisNamespaceHandlerrmi
- RmiNamespaceHandlerscript
- ScriptNamespaceHandlersecurity
- IntegrationSecurityNamespaceHandlersftp
- SftpNamespaceHandlerstream
- StreamNamespaceHandlertwitter
- TwitterNamespaceHandlerws
- WsNamespaceHandlerxml
- IntegrationXmlNamespaceHandlerxmpp
- XmppNamespaceHandlerIf you browse to the source of each of these classes you will quickly discover various BeanDefinitionParser
implementations responsible for parsing actual XML definitions.