У меня есть требование получить имя пользователя и пароль БД из Vault.Поэтому я удалил реализацию по умолчанию (spring.datasource.url, spring.datasource.username, spring.datasource.password) и добавил следующий код в класс DAOImpl.
Код
@Autowired
private JdbcTemplate jdbcTemplate;
@Bean
@Primary
public DataSource dataSource()
{
return DataSourceBuilder.create().username("someusername").password("somepassword")
.url("someurl")
.driverClassName("oracle.jdbc.driver.OracleDriver").build();
}
Работало отлично.Но когда я добавил новый класс DAOImpl, я получил следующее исключение.Необходимо ли добавить приведенный выше фрагмент кода во все классы DAOImpl.Есть ли способ настроить источник данных в одном классе и использовать его во всех классах DAOImpl
Исключение
Причина: org.springframework.beans.factory.BeanCurrentlyInCreationException:Ошибка создания bean-компонента с именем «dataSource»: запрашиваемый bean-компонент находится в процессе создания: существует неразрешимая циклическая ссылка?