2011-01-21 66 views
1

我編寫了一個Tomcat閥門並在server.xml中對其進行了配置。 目前爲止這麼好。但是,我希望閥門的數據成員之一是Spring管理bean。 那麼,我怎樣才能讓閥門也被Spring管理,以便我可以讓Spring的IoC將相關性注入到閥門中?如何彈出啓用Tomcat閥門

回答

1

閥門不與應用程序關聯,而彈簧上下文是。所以你不能在Valve中使用彈簧管理的bean。

當然,您可以在Valve構造函數中實例化spring上下文,並在那裏使用context.autowireBean(this),但這將是一個單獨的spring上下文,而不是來自任何可用上下文的上下文。

技術上講,你有機會從閥的環境中,但據我所知它是從請求,這樣你就可以得到ApplicationContext每個servlet上下文,並從那裏 - 得到一個bean的引用,但是這聽起來很奇怪。

+0

感謝您的快速回答。目前,我們爲部署在Tomcat中的多個應用程序實現了一個通用功能,如ServletFilters。我們希望將其整合到閥門中。閥門本身並不直接與部署應用中的其他豆類相關。但是,它確實依賴於一些彈簧接線的庫。所以我只想用彈簧線把所有這些豆子注入閥門。我認爲你的建議將起作用。謝謝。 – user585037 2011-01-21 21:03:18