Ответ 1
Каждое пространство имен Spring имеет связанную NamespaceHandler
реализацию. Схемы пространства имен сопоставляются с файлами схемы внутри Spring JAR в различных файлах spring.schemas
(см. Также Spring DI applicationContext.xml, как именно используется xsi: schemaLocation?).
Пространства имен схем XML также отображаются на классы обработчиков в файлах spring.handlers
(несколько, поскольку каждый Spring JAR может вводить разные пространства имен). Для вашего удобства здесь приведен список наиболее распространенных пространств имен:
Spring Ядро
-
aop
-AopNamespaceHandler
-
c
-SimpleConstructorNamespaceHandler
-
cache
-CacheNamespaceHandler
-
context
-ContextNamespaceHandler
-
jdbc
-JdbcNamespaceHandler
-
jee
-JeeNamespaceHandler
-
jms
-JmsNamespaceHandler
-
lang
-LangNamespaceHandler
-
mvc
-MvcNamespaceHandler
-
oxm
-OxmNamespaceHandler
-
p
-SimplePropertyNamespaceHandler
-
task
-TaskNamespaceHandler
-
tx
-TxNamespaceHandler
-
util
-UtilNamespaceHandler
Spring Безопасность
-
security
-SecurityNamespaceHandler
-
oauth
-OAuthSecurityNamespaceHandler
Spring интеграция
-
int
-IntegrationNamespaceHandler
-
amqp
-AmqpNamespaceHandler
-
event
-EventNamespaceHandler
-
feed
-FeedNamespaceHandler
-
file
-FileNamespaceHandler
-
ftp
-FtpNamespaceHandler
-
gemfire
-GemfireIntegrationNamespaceHandler
-
groovy
-GroovyNamespaceHandler
-
http
-HttpNamespaceHandler
-
ip
-IpNamespaceHandler
-
jdbc
-JdbcNamespaceHandler
-
jms
-JmsNamespaceHandler
-
jmx
-JmxNamespaceHandler
-
mail
-MailNamespaceHandler
-
redis
-RedisNamespaceHandler
-
rmi
-RmiNamespaceHandler
-
script
-ScriptNamespaceHandler
-
security
-IntegrationSecurityNamespaceHandler
-
sftp
-SftpNamespaceHandler
-
stream
-StreamNamespaceHandler
-
twitter
-TwitterNamespaceHandler
-
ws
-WsNamespaceHandler
-
xml
-IntegrationXmlNamespaceHandler
-
xmpp
-XmppNamespaceHandler
Если вы перейдете к источнику каждого из этих классов, вы быстро обнаружите различные реализации BeanDefinitionParser
, отвечающие за разбор фактических определений XML.