spring中的setDataSource()那里调用 jdbctemplate
就是写在dao里面的开头用的setDataSource()函数publicvoidsetDataSource(DataSourcedataSource){this.jdb...
就是写在dao里面的开头用的setDataSource()函数
public void setDataSource(DataSource dataSource){
this.jdbcTemplate = new JdbcTemplate(dataSource);
}???、
setDataSource()哪里被调用??? 标题有点歧义 sorry。。。 展开
public void setDataSource(DataSource dataSource){
this.jdbcTemplate = new JdbcTemplate(dataSource);
}???、
setDataSource()哪里被调用??? 标题有点歧义 sorry。。。 展开
2个回答
展开全部
这个问题问的不明不白!
看上面的代码猜测,通过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的反射机制,也许会加深你对问题的理解。
看上面的代码猜测,通过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的反射机制,也许会加深你对问题的理解。
2011-06-26
展开全部
这不是供你应用代码调用的,而是供运行环境Spring搭建环境时调用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询