Your DAO shouldn't know about the application context and shouldn't be explicitly looking up things in it. You could rewrite it using the Spring documentation as an example:
public class DbDaoImpl implements DbDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
...
}
and you can delete the jdbcTemp entry from the application context xml. Instead make the DAO Spring-managed, creating an entry for it like this:
<bean id="dbDao" class="DbDaoImpl">
<property name="dataSource" ref="dataSource"/>
</bean>