Spring定义了NamespaceHandlerSupport类型来解析xml定义的命名空间和元素
使用组合模式保存xml元素与BeanDefinitionParser,xml元素与BeanDefinitionDecorator等映射关系
NamespaceHandlerSupport子类具体负责每个命名空间的元素解析,具体内容可见下表:
类型 | 元素 | 描述 |
---|---|---|
TxNamespaceHandler | "advice","annotation-driven","jta-transaction-manager" | |
MvcNamespaceHandler | "annotation-driven","default-servlet-handler","interceptors","resources","view-controller", "redirect-view-controller","status-controller", "view-resolvers","tiles-configurer", "freemarker-configurer","groovy-configurer", "script-template-configurer","cors" | |
TaskNamespaceHandler | "annotation-driven","executor", "scheduled-tasks","scheduler" | |
AopNamespaceHandler | "config","aspectj-autoproxy", "scoped-proxy","spring-configured" | |
UtilNamespaceHandler | "constant","property-path","list", "set","map","properties" | |
LangNamespaceHandler | "groovy","bsh","std","defaults" | |
JmsNamespaceHandler | "listener-container","jca-listener-container", "annotation-driven" | |
ContextNamespaceHandler | "property-placeholder","property-override", "annotation-config","component-scan", "load-time-weaver","spring-configured", "mbean-export","mbean-server" |
这里以ContextNamespaceHandler为例进行说明: