我有一些擴展SqlMapClientDaoSupport的DAO類,並且調用getSqlMapClientTemplate()
來運行iBatis查詢。Spring:爲所有客戶端替換SqlMapClientTemplate?
對於特定的測試,我希望用我自己的自定義類替換每個DAO調用getSqlMapClientTemplate()
時返回的對象。
我該怎麼做?
我知道有一個setSqlMapClientTemplate(org.springframework.orm.ibatis.SqlMapClientTemplate)
;然而這提出了兩個問題。
1)我希望替換爲我的Spring配置的「全局」;我不想在每個DAO上調用set。
2)這二傳手需要SqlMapClientTemplate
,而不是接口SqlMapClientTemplate
器械(SqlMapClientOperations
),所以看起來好像我需要繼承SqlMapClientTemplate
,而不是隻是讓我自己實現的「SqlMapClientOperation的接口。
對於特定的Spring配置,我可以如何全局替換從所有調用返回的SqlMapClientTemplate
到getSqlMapClientTemplate()
?
謝謝。
我認爲抽象定義的方法是最好的。我不確定在這種情況下AOP方法是否可行。它只有在增強對象被注入到另一個對象而不是內部`this`方法調用時纔有效。沒有額外的工作是。 – laz 2009-07-09 20:58:37