在Spring文檔使用的JdbcTemplate是創造每類new
模板你...辛格爾頓VS原型的JdbcTemplate
public class JdbcCorporateEventDao implements CorporateEventDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
}
我想知道用它推薦的方式,什麼是該解決方案的優勢以上定義jdbctemplate
如單在上下文中以及在Dao
public class JdbcCorporateEventDao implements CorporateEventDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
這有點遲,但我也很好奇。如果在case1中使用,它將生成與DAO一樣多的JdbcTemplate實例,對吧?但在第二種情況下,只會有一個JdbcTemplate實例,因爲Spring在默認情況下將其bean作爲單例管理。由於這個原因,我認爲第二種方式看起來好多了。有沒有辦法像案例1一樣使用JdbcTemplate? –
@JuneyoungOh JdbcTemplate有一些屬性影響從給定實例執行的所有查詢(例如'setFetchSize(int fetchSize)','setQueryTimeout(int queryTimeout)'等等)。所以如果你使用其中的一個並且需要不同部分的不同設置的應用程序 - 您需要JdbcTemplate的多個實例。 –
感謝您的解釋。這是一個有用的答案,我沒有考慮這些情況。祝你有美好的一天 –