【发布时间】:2011-01-21 20:46:56
【问题描述】:
我写了一个 Tomcat 阀门并在 server.xml 中配置它。 到现在为止还挺好。但是,我希望阀门的数据成员之一是 Spring 托管 bean。 那么,如何使阀门也由 Spring 管理,以便让 Spring 的 IoC 将该依赖项注入到阀门中?
【问题讨论】:
标签: java spring tomcat tomcat-valve
我写了一个 Tomcat 阀门并在 server.xml 中配置它。 到现在为止还挺好。但是,我希望阀门的数据成员之一是 Spring 托管 bean。 那么,如何使阀门也由 Spring 管理,以便让 Spring 的 IoC 将该依赖项注入到阀门中?
【问题讨论】:
标签: java spring tomcat tomcat-valve
阀门与应用程序无关,而弹簧上下文是。所以你不能在 Valve 中使用弹簧管理的 bean。
当然,您可以在 Valve 构造函数中实例化弹簧上下文,并在那里使用context.autowireBean(this),但这将是一个单独的弹簧上下文,而不是任何可用上下文中的一个。
从技术上讲,您可以从 Valve 访问上下文,但它来自请求,因此您可以为每个 servlet 上下文获取 ApplicationContext,然后从那里获取对 bean 的引用,但这听起来奇怪。
【讨论】: