1

我写了一个 Tomcat 阀门并在 server.xml 中配置它。到目前为止,一切都很好。但是,我希望阀门的数据成员之一是 Spring 托管 bean。那么,如何使阀门也由 Spring 管理,以便让 Spring 的 IoC 将该依赖项注入到阀门中?

4

1 回答 1

1

阀门与应用程序无关,而弹簧上下文是。因此,您不能在 Valve 中使用弹簧管理的 bean。

当然,您可以在 Valve 构造函数中实例化弹簧上下文并在其中使用context.autowireBean(this),但这将是一个单独的弹簧上下文,而不是任何可用上下文中的一个。

从技术上讲,您可以从 Valve 访问上下文,但它来自请求,因此您可以获得ApplicationContext每个 servlet 上下文,并从那里获取对 bean 的引用,但这听起来很奇怪。

于 2011-01-21T20:54:49.300 回答