如何在Spring XML上下文中实现条件资源导入?
- 论坛
- 如何在Spring XML上下文中实现条件资源导入?
7 浏览
如何在Spring XML上下文中实现条件资源导入?
我想要实现的是根据配置文件中定义的属性,动态地(即根据条件)启用/禁用导入子Spring XML上下文的能力。
我想象的实现方式如下:
其中,该属性会被解析为布尔值,当为true时,导入上下文;否则,不导入。
至今为止,我进行了一些研究:
- 编写自定义的NamespaceHandler(及相关类),以便在自己的命名空间中注册自定义元素。例如:
这种方法的问题在于,我不想复制Spring中的整个资源导入逻辑,并且我不确定应该委托哪些部分来完成此操作。
- 重写
DefaultBeanDefinitionDocumentReader
,扩展“import”元素的解析和解释行为(该行为在importBeanDefinitionResource
方法中完成)。但是我不确定在哪里可以注册此扩展。