就是写在dao里面的开头用的setDataSource()函数public void setDataSource(DataSource dataSource){this.jdbcTemplate = new JdbcTemplate(dataSource);}???
2 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
这个问题问的不明不白!
看上面的代码猜测,通过spring的依赖注入自动给dao那个类装配dataSource字段,也就是说那个setDataSource方法会被spring调用,调用的时候会将dataSource实例作为参数传给dao的setDataSource方法。只要配置正确,Spring就会这样做(调用setDataSource并传参数),至于setDataSource方法里面有什么那不关spring的事。也就是说你可以完全不按常理出牌,在setDataSource方法里面不给dataSource赋值,而是像给出的问题那样经过包装付给jdbcTemplate 。
这有什么问题么??
set方法会被Spring自动调用,具体时间是Spring实例化的时候,他会根据配置文件中的指示调用set方法的。你看看配置文件中有关dao那个bean的配置,应该有个类似<property name=dataSource value=*** 的定义。你可以学习一下Java的反射机制,也许会加深你对问题的理解。
- 2 回答
- 0 关注
- 49 浏览
添加回答
举报
0/150
提交
取消