код ниже работает нормально, но если я комментирую метод jdbcTemplateRandomName в классе OracleConfiguration, я получаю следующую ошибку: -
Я пытаюсь понять, почему я получаю ошибку, комментируя метод jdbcTemplateRandomName Ошибка в BaseDaoImplclass.
Исключение в потоке "main" org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'baseDaoImpl': неудовлетворенная зависимость, выраженная через поле 'jdbcTemplate';вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного квалифицирующего компонента типа 'org.springframework.jdbc.core.JdbcTemplate': ожидается как минимум 1 компонент, который квалифицируется как кандидат для автоматического подключения.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
Вызывается: org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет квалифицирующего компонента типа 'org.spring.jdbc.core.JdbcTemplate 'доступно: ожидается как минимум 1 бин, который считается кандидатом на автопровод.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
@Component
public class BaseDaoImpl {
@Autowired
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
@Configuration
public class OracleConfiguration {
@Bean
DataSource dataSource() throws SQLException {
OracleDataSource dataSource = new OracleDataSource();
//removed code for brevity setting username,password to datasource
return dataSource;
}
@Bean
public JdbcTemplate jdbcTemplateRandomName(DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
return jdbcTemplate;
}
public class RolesDaoImpl extends BaseDaoImpl implements RolesDao {
//removed lot of unnecessary code for the question
List<Roles> rolesList = getJdbcTemplate().query(sql,
new BeanPropertyRowMapper<Roles>(Roles.class));