Spring-jdbcTemplate
我刚刚开始使用 Spring 框架。我也在使用 DBCP 池,但我仍然不确定如何正确使用 jdbcTemplate。
最佳实践是在多个 DAO 之间重用创建/注入的 jdbcTemplate 实例,或者为每个 DAO 创建 jdbcTemplate 是正确的吗?
我目前正在使用注释方法:
public class FooDAO {
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDatasource( DataSource dataSource ) {
this.jdbcTemplate = new JdbcTemplate( dataSource );
}
}
我知道 JdbcDaoSupport,但我不知道如何注入数据源,因为方法 setDatasource 被标记为最终方法。
但我仍然不确定重用创建的 jdbcTemplate 是否是最佳实践。
I'm just beginning with Spring framework. I'm also using DBCP pooling and i'm still not sure how to work right with jdbcTemplate.
It is best practice to reuse created/injected jdbcTemplate instance between multiple DAOs or it is right to create jdbcTemplate for each DAO ?
I'm currently using annotation approach:
public class FooDAO {
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDatasource( DataSource dataSource ) {
this.jdbcTemplate = new JdbcTemplate( dataSource );
}
}
I'm aware about JdbcDaoSupport, but I don't know how to inject datasource, because method setDatasource is marked as final.
But still, I'm not sure if is best practice to reuse created jdbcTemplate or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将其注入并分享。不要称之为“新”;它将控制权从 Spring bean 工厂手中夺走。
Inject it in and share it. Don't call "new"; that takes control out of the hands of the Spring bean factory.
我知道 JdbcDaoSupport,但我不知道如何注入数据源,因为方法 setDatasource 被标记为最终方法。
Spring调用set方法,不关心该方法是否是final。
然后在你的 JdbcDaoSupportTest 中,你可以调用 this.getJdbcTemplate() 来获取 JdbcTemplate
任何运营商。
I'm aware about JdbcDaoSupport, but I don't know how to inject datasource, because method setDatasource is marked as final.
Spring call set Method, don't care whether the method is final or not.
then in your JdbcDaoSupportTest, you can call this.getJdbcTemplate() to get JdbcTemplate do
any operator.