我在我的xml配置中有以下內容。我想將這些轉換爲我的代碼,因爲我正在容器外進行一些單元/集成測試。如何在Spring xmls之外設置SqlMapClient
個XML:
<bean id="MyMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:sql-map-config-oracle.xml"/>
<property name="dataSource" ref="IbatisDataSourceOracle"/>
</bean>
<bean id="IbatisDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/my/mydb"/>
</bean>
代碼我用來獲取上述個XML的東西:
this.setSqlMapClient((SqlMapClient)ApplicationInitializer.getApplicationContext().getBean("MyMapClient"));
我的代碼(單元測試):
SqlMapClientFactoryBean bean = new SqlMapClientFactoryBean();
UrlResource urlrc = new UrlResource("file:/data/config.xml");
bean.setConfigLocation(urlrc);
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("oracle.jdbc.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@123.210.85.56:1522:ORCL");
dataSource.setUsername("dbo_mine");
dataSource.setPassword("dbo_mypwd");
bean.setDataSource(dataSource);
SqlMapClient sql = (SqlMapClient) bean; //code fails here
當XML的是那麼使用SqlMapClient
就是設置的類然後我怎麼不能轉換SqlMapClientFactoryBean
SqlMapClient
你在第二段提到你能告訴我該怎麼做?或鏈接?我發現爲了測試的目的而製作單獨的xmls',但是應該在那裏做什麼?最後,我必須能夠將SqlMapClient傳遞給setSqlMapClient(..),因爲我的DAO使用的是getSqlMapClientTemplate()。 – Omnipresent 2009-11-11 13:09:39
如何創建SqlMapClient的非彈簧方式?我想這就是我想通過捨棄XML來嘗試做的事情。 ..care顯示一些代碼? – Omnipresent 2009-11-11 13:26:34