我的Spring環境中有幾個bean有狀態,所以我想在單元測試之前/之後重置該狀態。如何從Spring獲取實例化bean的列表?
我的想法是添加一個方法到一個助手類,它只是通過Spring上下文中的所有bean,檢查用@Before
或@After
註釋並調用它們的方法。
如何獲得實例化的豆類列表ApplicationContext
?
注:簡單地遍歷所有定義的bean是無用的,因爲我有很多懶豆,其中一些不能被實例化,因爲這將失敗的一些測試(即我有需要java.sql.DataSource
一個咖啡豆,但測試解決方案因爲他們不需要這個bean)。
也許定義 「後」 切入點HTTP:/ /static.springsource.org/spring/docs/3.0.x/reference/aop.html – 2013-02-12 11:52:15
你的單元測試中的@DirtiesContext註釋沒有做到你想要的嗎? – 2013-02-12 12:30:32
@NicolasMommaerts:不。重新設置幾個bean會比從頭創建整個上下文便宜得多。 – 2013-02-12 14:50:01