为了账号安全,请及时绑定邮箱和手机立即绑定

setDataSource()哪里被调用???

setDataSource()哪里被调用???

慕森卡 2023-03-12 20:16:26
就是写在dao里面的开头用的setDataSource()函数public void setDataSource(DataSource dataSource){this.jdbcTemplate = new JdbcTemplate(dataSource);}???
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这不是供你应用代码调用的,而是供运行环境Spring搭建环境时调用的。

查看完整回答
反对 回复 2023-03-15
?
慕勒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的反射机制,也许会加深你对问题的理解。

查看完整回答
反对 回复 2023-03-15
  • 2 回答
  • 0 关注
  • 40 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信