自定义dao层继承JdbcDaoSupport疑问
自定义dao层继承JdbcDaoSupport, 有一个疑问,百思不得其解, 为什么在子类的自定义dao层的方法中可以直接使用 this.getJdbcTemplate() 得到返回值. 源码中jdbcTemplate 成员变量不是私有的吗,在子类为何还能得到它的值呢?
public abstract class JdbcDaoSupport extends DaoSupport {
private JdbcTemplate jdbcTemplate;
/**
* Set the JDBC DataSource to be used by this DAO.
*/
public final void setDataSource(DataSource dataSource) {
if (this.jdbcTemplate == null || dataSource != this.jdbcTemplate.getDataSource()) {
this.jdbcTemplate = createJdbcTemplate(dataSource);
initTemplateConfig();
}
}
protected JdbcTemplate createJdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
public final DataSource getDataSource() {
return (this.jdbcTemplate != null ? this.jdbcTemplate.getDataSource() : null);
}