katharsis 配置为 spring xml

katharsis configured with spring xml

从源代码来看,Katharsis-spring 模块只能与 spring 引导一起使用。

那么我的问题是,是否可以在 xml 中配置一个 spring 项目并在没有 spring 引导的情况下加载 Katharsis?

如果是这样,您需要如何在 spring xml 中配置 katharsis?

有没有人以前这样做过并愿意分享一个例子?

谢谢。

只适用于 Spring 启动?这似乎不可能。只需 @Import(KatharsisConfigV2.class) 对代码中的任何配置进行操作即可。

至于 xml 配置:按照设计,如果可以在代码中完成,则可以在配置中完成。

试试看,让我知道你是怎么做到的

对于 2.8.1 版的 katharsis,仅在 xml 中配置它是一个相当大的挑战。所以我查看了该项目的 master 分支,发现将有一些新功能可以更轻松地使用 spring xml 进行配置。我在这里创建了一个示例项目,您可以作为配置参考:

Sample Spring/Katharsis Project with XML configuration

在示例项目中我添加了SpringServiceDiscovery class,并修改了KatharsisBoot class 以使配置更容易。在这个项目的下一个版本中,我应该能够完全删除这 2 个 classes,并使用 katharsis 附带的 classes。

我需要添加到我的 root-context.xml 文件的 bean 如下:

io.katharsis.spring.KatharsisFilterV2
io.katharsis.spring.ErrorHandlerFilter
com.springkatharsisxml.katharsis.boot.KatharsisBoot
io.katharsis.queryParams.QueryParamsBuilder
io.katharsis.resource.registry.ConstantServiceUrlProvider
io.katharsis.queryParams.DefaultQueryParamsParser
io.katharsis.module.CoreModule
io.katharsis.resource.field.ResourceFieldNameTransformer
io.katharsis.spring.boot.KatharsisSpringBootProperties

我还需要公开 jackson objectMapper bean,因为在 xml 中默认情况下没有这样做。

我还使用了 org.springframework.web.filter.DelegatingFilterProxy 作为 katharsisFilter 和 errorHandlerFilter。