title: Failed to get driver instance for oracle and hikaricp
body: <p>i m having exception when connecting to oracle db through springboot application.
  but i can connect to this db using sql developer. </p>
  
  <p>I used HikariCP for connecting db</p>
  
  <p>part of the stacktrace is attach here</p>
  
  <blockquote>
    <p>Blockquote  018-06-25 13:09:21.778 ERROR --- [restartedMain] o.s.b.SpringApplication : Application startup failed
    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'collectionApiController' defined in file [******]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'collectionServiceImpl': Unsatisfied dependency expressed through field 'collectionRepository'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'collectionRepositoryImpl' defined in file [******]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'namedParameterJdbcTemplate' defined in class path resource [****/AppConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: Factory method 'namedParameterJdbcTemplate' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [*****/AppConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=****
        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
        at lk.dialog.crm.collectionms.CollectionMsApplication.main(CollectionMsApplication.java:35)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) 
    Blockquote</p>
    
    <p>Blockquote </p>
  </blockquote>
  
  <p>public class AppConfig {</p>
  
  <pre><code>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);
  }
  </code></pre>
  
  <p>}</p>
  
  <blockquote>
    <p>Blockquote</p>
  </blockquote>