Не удалось получить экземпляр драйвера для oracle и hikaricp - PullRequest
0 голосов
/ 25 июня 2018

У меня исключение при подключении к oracle db через приложение springboot.но я могу подключиться к этой базе данных с помощью разработчика SQL.

Я использовал HikariCP для подключения дБ

часть стека трассировки прикреплена здесь

Blockquote 018-06-25 13: 09: 21.778 ОШИБКА --- [restartedMain] osbSpringApplication: сбой запуска приложения org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания компонента с именем collectionApiController, определенным в файле [******]: неудовлетворенная зависимость, выраженная через параметр конструктора 1;вложенное исключение: org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании компонента с именем collectionServiceImpl: неудовлетворенная зависимость, выраженная через поле collectionRepository;вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем collectionRepositoryImpl, определенным в файле [******]: неудовлетворенная зависимость, выраженная через параметр конструктора 0;вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем namedParameterJdbcTemplate, определенным в ресурсе пути к классу [**** / AppConfig.class]: создание экземпляра компонента с помощью метода фабрики не выполнено;вложенное исключение: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: метод фабрики 'namedParameterJdbcTemplate' вызвал исключение;вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'dataSource', определенным в ресурсе пути к классу [***** / AppConfig.class]: создание экземпляра компонента с помощью метода фабрики не выполнено;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [javax.sql.DataSource]: фабричный метод 'dataSource' вызвал исключение;вложенное исключение - java.lang.RuntimeException: не удалось получить экземпляр драйвера для jdbcUrl = **** в org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:749) в org.springframeory.be..support.ConstructorResolver.autowireConstructor (ConstructorResolver.java:189) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory.java:1193) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java: 1095) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:513) в org.springframework.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:306) вorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) в org.springframework.beans.factory.support.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197) в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java.jpg867) по адресу org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:543) по адресу org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh.pping.pring.prs.prg.pris.pring.prg.pring.pring.prg.pring.pring.pring.pring.pring.prg..refresh (SpringApplication.java:693)в org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:360) в org.springframework.boot.SpringApplication.run (SpringApplication.java:303) в org.springframework.boot.SpringApplication.run (SpringApplication.java:1118) в org.springframework.boot.SpringApplication.run (SpringApplication.java:1107) at lk.dialog.crm.collectionms.CollectionMsApplication.main (CollectionMsApplication.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:497) в org.springframework.boot.devtools.restart.RestartLauncher.run (RestartLauncher.java:49) Blockquote

Цитата

открытый класс AppConfig {

private String jdbcUrl;
private String user;
private String password;

@Bean
@Scope(SCOPE_PROTOTYPE)
public Logger logger(InjectionPoint injectionPoint) {
    return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}

public AppConfig(@Value("${application.datasource.url}") String jdbcUrl,
                 @Value("${application.datasource.user}") String user,
                 @Value("${application.datasource.password}") String password) {
    this.jdbcUrl = jdbcUrl;
    this.user = user;
    this.password = password;



}

@Bean
public DataSource dataSource() {
    HikariConfig config = new HikariConfig();
    config.setJdbcUrl(jdbcUrl);
    config.setUsername(user);
    config.setPassword(password);
    config.setMaximumPoolSize(15);
    return new HikariDataSource(config);
}

}

Blockquote

1 Ответ

0 голосов
/ 10 июля 2019

Для MySQL, получая доступ с помощью Spring Boot Framework, мы меняем свойство driver на имя-класса-драйвера , чтобы оно работало.

...