Весной я перехожу от спящего режима к jdbctemplate, и мне нужно некоторое руководство.
Я собираюсь создать UserDao
, а затем UserDaoImpl
.
В моем файле servlet.xml у меня создан bean-компонент источника данных.
Сейчас я читаю это: http://static.springsource.org/spring/docs/2.0.x/reference/jdbc.html
В нем говорится, что есть частный метод:
частный JdbcTemplate jdbcTemplate;
Итак, я могу создать свой UserDaoImpl следующим образом:
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
}
- Нужен ли мне установленный источник данных? Или я могу использовать какую-то аннотацию?
- Могу ли я переместить этот код в базовый класс, такой как GenericDao/GenericDaoImpl? (если да, то сохранить ли jdbcTempalte закрытым или защищенным?
С помощью спящего режима я смог добавить базовые запросы в свой базовый класс, используя дженерики, я предполагаю, что не могу сделать это с jdbc, поскольку ничего действительно не отображается в моих объектах, верно?
обновить
Итак, мой GenericDaoImpl выглядит так:
public class GenericDaoImpl<T> extends JdbcDaoSupport implements GenericDao<T> {
private JdbcTemplate jdbcTemplate;
}
Тогда мой UserDaoImpl выглядит так:
@Repository
public class UserDaoImpl extends GenericDaoImpl<User> implements UserDao {
}
- Теперь я не могу использовать this.jdbcTemplate в своих методах? Что я делаю?
- В моем GenericDaoImpl у меня может быть setDataSource, так как JdbcDaoSupport помечает его как final.
Как мне теперь автоматически связать источник данных?