我正在使用java 8 + Spring 4的應用程序。現在我將刪除Spring DI要求,以便應用程序可以在沒有使用Spring DI的情況下運行。如何爲H2查詢啓動NamedParameterJdbcTemplate?
我將使用Springs JdbcTemplate和NamedParameterJdbcTemplate進行數據庫操作。我正在使用這些模板,因爲我們會在Java應用程序中使用任何其他功能/ .jar。
當我刪除所有@Autowired和其他相關春註釋(並且使他們構造了)
Spring版本是這樣的:
public class H2Dao {
private NamedParameterJdbcTemplate t;
@Autowired
public H2Dao(@Qualifier("H2JdbcTemplate") NamedParameterJdbcTemplate t) {
this.t=t;
}
}
應用程序的context.xml低於此代碼:
<jdbc:embedded-database id="h2DataSource" type="H2">
<jdbc:script location="classpath:db/sql/h2.init.sql" />
</jdbc:embedded-database>
<bean id="H2JdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="h2DataSource" name="dataSource" />
</bean>
h2.init.sql文件中有如下代碼:
CREATE ALIAS ROWNUM_OVER FOR "com.xx.xxxx.h2.H2Function.rowNumOver";
CREATE ALIAS DBO_UFUN_ADDDATETIME FOR "com.xx.xxxx.h2.H2Function.addDateTime";
我的問題是,我如何在非spring版本中編寫不使用application-context.xml的DI代碼。我想使用NamedParameterJdbcTemplate作爲參數的構造函數H2Dao。如何實例化NamedParameterJdbcTemplate傳遞H2Dao構造函數?
肯定的,只是嘗試這樣做。似乎工作。一旦我測試它,我會更新。 – Ajeetkumar
謝謝ДенисЯкибчук這正是尋找什麼! – Ajeetkumar