gpt4 book ai didi

spring - Servlet 和过滤器注册为 Spring Beans 而不是 Grails 中的 web.xml

转载 作者:行者123 更新时间:2023-12-01 11:30:23 26 4
gpt4 key购买 nike

在 chalice 中 'Upgrading from 2.x to 3.0.6' document已经注意到“新的 servlet 和过滤器可以分别注册为 Spring bean 或使用 ServletRegistrationBean 和 FilterRegistrationBean”,但是关于此事并没有多说。

我想知道是否有人对如何正确执行此操作有任何好的意见(即,使用包含 servlet 上下文的 init/BootStrap.groovy 来加载 bean,而不是 conf/spring 中的 bean)或者可能有一些 pre -定义的 Spring 这样做的方式很明显,我错过了。

注意:我正在尝试将 spring-ws 集成到 Grails 3.0.6 中。

最佳答案

对于插件,您应该在 doWithSpring 中执行此操作,对于应用程序,您应该在 grails-app/conf/spring/resources.groovy 中执行此操作。由于 Grails 3 基于 Spring Boot,您还可以使用 @Bean 方法。

当应用程序上下文启动时,Spring 会查找 ServletRegistrationBeans、FilterRegistrationBeans 等,并使用它们配置的属性为您在 servlet 容器中进行编程注册.

Grails 源代码中有一些示例。 ControllersGrailsPlugin 注册了一些过滤器(例如 here )并且主调度器 servlet 注册了 here .

Spring Boot docs 中有一些文档虽然它偏向于 @Bean 方法,但您可以使用任何方法来定义 bean。

关于spring - Servlet 和过滤器注册为 Spring Beans 而不是 Grails 中的 web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32564857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com