I am trying to develop a sample spring boot application that has spring JPA and Hibernate implementation. While I managed to get my setup complete, I am getting the following error while running the application.
Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration'
I suspect this is some kind of configuration based error, but I am unable to pin point the source of the error.
I have seen some posts with this error and tried those resolutions. But those didn't help me resolve the error.
Here is my application's setup.
POM.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.shandesh</groupId>
<artifactId>training</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.yml file :-
spring:
profiles: dev
datasource:
url: jdbc:oracle:thin:@//localhost:1521/orcl
driverClassName: oracle.jdbc.driver.OracleDriver
username: ****
password: ****
jpa:
show_sql: true
generate-ddl: false
hibernate:
ddl-auto: none
properties:
hibernate.dialect: org.hibernate.dialect.OracleDialect
Entity class :-
package com.shandesh.dao;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.sql.Timestamp;
@Getter
@Setter
@Entity
@Table(name = "APPUSER")
public class AppUserDTO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USER_ID")
Long userId;
@Column(name = "USER_NAME")
String userName;
@Column(name = "USER_FIRST_NAME")
String userFirstName;
@Column(name = "USER_LAST_NAME")
String userLastName;
@Column(name = "LAST_UPDATED_BY")
String lastUpdatedBy;
@Column(name = "LAST_UPDATED_DATE")
Timestamp lastUpdatedDate;
}
Repository class :-
package com.shandesh.repository;
import com.shandesh.dao.AppUserDTO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.stereotype.Repository;
import javax.transaction.Transactional;
import java.util.List;
@Repository
public interface AppUserRepository extends JpaRepository<AppUserDTO, Integer> {
List<AppUserDTO> findByUserName(String userName);
List<AppUserDTO> findByUserId(Integer userId);
List<AppUserDTO> findAll();
@Modifying
Long deleteByUserName(String userName);
@Modifying
Long deleteByUserid(Integer userId);
}
Service class :-
package com.shandesh.service;
import com.shandesh.dao.AppUserDTO;
import com.shandesh.repository.AppUserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class AppUserService {
@Autowired
private AppUserRepository appUserRepository;
public List<AppUserDTO> getAllAppUsers() {
return appUserRepository.findAll();
}
}
Controller class :-
package com.shandesh.controller;
import com.shandesh.dao.AppUserDTO;
import com.shandesh.service.AppUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@EnableAutoConfiguration //(exclude={DataSourceAutoConfiguration.class})
public class UserController {
@Autowired
private AppUserService appUserService;
@RequestMapping(value = "/getAllUsers", produces = MediaType.APPLICATION_JSON_VALUE)
public List<AppUserDTO> getAllUsers() { return appUserService.getAllAppUsers(); }
}
Stack trace while running the application via IntelliJ console.
"C:\\Program Files\\Java\\jdk1.8.0_141\\bin\\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2019.1.2\\lib\\idea_rt.jar=50180:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2019.1.2\\bin" -Dfile.encoding=UTF-8 -classpath "C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\charsets.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\deploy.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\access-bridge-64.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\cldrdata.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\dnsns.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\jaccess.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\jfxrt.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\localedata.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\nashorn.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ ext\\sunec.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\sunjce_provider.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\sunmscapi.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\sunpkcs11.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\ext\\zipfs.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\javaws.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\jce.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\jfr.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\jfxswt.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\jsse.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\management-agent.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\plugin.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\resources.jar;C:\\Program Files\\Java\\jdk1.8.0_141\\jre\\lib\\rt.jar;G:\\Shantanu\\Learning\\Technology\\Projects\\training\\target\\classes;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-web\\2.1.0.RELEASE\\spring-boot-starter-web-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework \\boot\\spring-boot-starter\\2.1.0.RELEASE\\spring-boot-starter-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot\\2.1.0.RELEASE\\spring-boot-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\2.1.0.RELEASE\\spring-boot-autoconfigure-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\2.1.0.RELEASE\\spring-boot-starter-logging-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\ch\\qos\\logback\\logback-classic\\1.2.3\\logback-classic-1.2.3.jar;C:\\Users\\Shantanu.m2\\repository\\ch\\qos\\logback\\logback-core\\1.2.3\\logback-core-1.2.3.jar;C:\\Users\\Shantanu.m2\\repository\\org\\apache\\logging\\log4j\\log4j-to-slf4j\\2.11.1\\log4j-to-slf4j-2.11.1.jar;C:\\Users\\Shantanu.m2\\repository\\org\\apache\\logging\\log4j\\log4j-api\\2.11.1\\log4j-api-2.11.1.jar;C:\\Users\\Shantanu.m2\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.25\\jul-to-slf4j-1.7.25.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\annotation\\java x.annotation-api\\1.3.2\\javax.annotation-api-1.3.2.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-core\\5.1.2.RELEASE\\spring-core-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-jcl\\5.1.2.RELEASE\\spring-jcl-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\yaml\\snakeyaml\\1.23\\snakeyaml-1.23.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-json\\2.1.0.RELEASE\\spring-boot-starter-json-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.9.7\\jackson-databind-2.9.7.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.9.0\\jackson-annotations-2.9.0.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.9.7\\jackson-core-2.9.7.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jdk8\\2.9.7\\jackson-datatype-jdk8-2.9.7.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson -datatype-jsr310\\2.9.7\\jackson-datatype-jsr310-2.9.7.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\jackson\\module\\jackson-module-parameter-names\\2.9.7\\jackson-module-parameter-names-2.9.7.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-tomcat\\2.1.0.RELEASE\\spring-boot-starter-tomcat-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-core\\9.0.12\\tomcat-embed-core-9.0.12.jar;C:\\Users\\Shantanu.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-el\\9.0.12\\tomcat-embed-el-9.0.12.jar;C:\\Users\\Shantanu.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-websocket\\9.0.12\\tomcat-embed-websocket-9.0.12.jar;C:\\Users\\Shantanu.m2\\repository\\org\\hibernate\\validator\\hibernate-validator\\6.0.13.Final\\hibernate-validator-6.0.13.Final.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\validation\\validation-api\\2.0.1.Final\\validation-api-2.0.1.Final.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-web\\5.1.2.RELEASE\\spring-web-5.1. 2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-beans\\5.1.2.RELEASE\\spring-beans-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-webmvc\\5.1.2.RELEASE\\spring-webmvc-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-aop\\5.1.2.RELEASE\\spring-aop-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-context\\5.1.2.RELEASE\\spring-context-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-expression\\5.1.2.RELEASE\\spring-expression-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\com\\oracle\\ojdbc6\\11.2.0.4\\ojdbc6-11.2.0.4.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-data-jpa\\2.1.0.RELEASE\\spring-boot-starter-data-jpa-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-aop\\2.1.0.RELEASE\\spring-boot-starter-aop-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\aspectj\\aspectjweaver\\1.9 .2\\aspectjweaver-1.9.2.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\transaction\\javax.transaction-api\\1.3\\javax.transaction-api-1.3.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\xml\\bind\\jaxb-api\\2.3.1\\jaxb-api-2.3.1.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\data\\spring-data-jpa\\2.1.2.RELEASE\\spring-data-jpa-2.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\data\\spring-data-commons\\2.1.2.RELEASE\\spring-data-commons-2.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-orm\\5.1.2.RELEASE\\spring-orm-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-tx\\5.1.2.RELEASE\\spring-tx-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-aspects\\5.1.2.RELEASE\\spring-aspects-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\com\\zaxxer\\HikariCP\\2.6.0\\HikariCP-2.6.0.jar;C:\\Users\\Shantanu.m2\\repository\\org\\slf4j\\slf4j-api\\1.7.25\\slf4j-api-1.7.25.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\boo t\\spring-boot-starter-jdbc\\2.1.0.RELEASE\\spring-boot-starter-jdbc-2.1.0.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\springframework\\spring-jdbc\\5.1.2.RELEASE\\spring-jdbc-5.1.2.RELEASE.jar;C:\\Users\\Shantanu.m2\\repository\\org\\projectlombok\\lombok\\1.16.16\\lombok-1.16.16.jar;C:\\Users\\Shantanu.m2\\repository\\org\\hibernate\\hibernate-core\\5.3.7.Final\\hibernate-core-5.3.7.Final.jar;C:\\Users\\Shantanu.m2\\repository\\org\\jboss\\logging\\jboss-logging\\3.3.2.Final\\jboss-logging-3.3.2.Final.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\persistence\\javax.persistence-api\\2.2\\javax.persistence-api-2.2.jar;C:\\Users\\Shantanu.m2\\repository\\org\\javassist\\javassist\\3.23.1-GA\\javassist-3.23.1-GA.jar;C:\\Users\\Shantanu.m2\\repository\\net\\bytebuddy\\byte-buddy\\1.9.3\\byte-buddy-1.9.3.jar;C:\\Users\\Shantanu.m2\\repository\\antlr\\antlr\\2.7.7\\antlr-2.7.7.jar;C:\\Users\\Shantanu.m2\\repository\\org\\jboss\\spec\\javax\\transaction\\jboss-transaction-api_1.2_spec\\1.1.1.Final\\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\\Users\\Shan tanu.m2\\repository\\org\\jboss\\jandex\\2.0.5.Final\\jandex-2.0.5.Final.jar;C:\\Users\\Shantanu.m2\\repository\\com\\fasterxml\\classmate\\1.4.0\\classmate-1.4.0.jar;C:\\Users\\Shantanu.m2\\repository\\javax\\activation\\javax.activation-api\\1.2.0\\javax.activation-api-1.2.0.jar;C:\\Users\\Shantanu.m2\\repository\\org\\dom4j\\dom4j\\2.1.1\\dom4j-2.1.1.jar;C:\\Users\\Shantanu.m2\\repository\\org\\hibernate\\common\\hibernate-commons-annotations\\5.0.4.Final\\hibernate-commons-annotations-5.0.4.Final.jar;C:\\Users\\Shantanu.m2\\repository\\org\\hibernate\\hibernate-entitymanager\\5.3.7.Final\\hibernate-entitymanager-5.3.7.Final.jar" com.shandesh.Application
. ____ _ __ _ _ /\\ / ' __ _ ( )_ __ __ _ \\ \\ \\ \\ ( ( )_ | '_ | ' | | ' / ` | \\ \\ \\ \\ \\/ )| | )| | | | | || ( | | ) ) ) ) ' |____| . | | | | | | __, | / / / / =========|_|==============|___/=/ / /_/ :: Spring Boot :: (v2.1.0.RELEASE)
2019-07-11 10:12:12.575 INFO 5872 --- [ main] com.shandesh.Application : Starting Application on SKD-PC with PID 5872 (G:\\Shantanu\\Learning\\Technology\\Projects\\training\\target\\classes started by Shantanu in G:\\Shantanu\\Learning\\Technology\\Projects\\training) 2019-07-11 10:12:12.582 INFO 5872 --- [ main] com.shandesh.Application : No active profile set, falling back to default profiles: default 2019-07-11 10:12:13.827 INFO 5872 --- [ main] .sdrcRepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 2019-07-11 10:12:13.925 INFO 5872 --- [ main] .sdrcRepositoryConfigurationDelegate : Finished Spring Data repository scanning in 86ms. Found 1 repository interfaces. 2019-07-11 10:12:14.778 INFO 5872 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$bf78f5b2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2019-07-11 10:12:15.211 INFO 5872 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2019-07-11 10:12:15.230 INFO 5872 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2019-07-11 10:12:15.231 INFO 5872 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/9.0.12 2019-07-11 10:12:15.238 INFO 5872 --- [ main] oacatalina.core.AprLifecycleListener : Loaded APR based Apache Tomcat Native library [1.2.21] using APR version [1.6.5]. 2019-07-11 10:12:15.238 INFO 5872 --- [ main] oacatalina.core.AprLifecycleListener : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 2019-07-11 10:12:15.238 INFO 5872 --- [ main] oacatalina.core.AprLifecycleListener : APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true] 2019-07-11 10:12:15.242 INFO 5872 --- [ main] oacatalina.core.AprLifecycleListener : OpenSSL successfully initialized [OpenSSL 1.1.1a 20 Nov 2018] 2019-07-11 10:12:15.396 INFO 5872 --- [ main] oaccC[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2019-07-11 10:12:15.396 INFO 5872 --- [ main] osweb.context.ContextLoader : Root WebApplicationContext: initialization completed in 2735 ms 2019-07-11 10:12:15.434 INFO 5872 --- [ main] osbwservlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/] 2019-07-11 10:12:15.439 INFO 5872 --- [ main] osbwservlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/ ] 2019-07-11 10:12:15.440 INFO 5872 --- [ main] osbwservlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/ ] 2019-07-11 10:12:15.440 INFO 5872 --- [ main] osbwservlet.FilterRegistrationBean : Mapping filter: 'formContentFilter' to: [/ ] 2019-07-11 10:12:15.440 INFO 5872 --- [ main] osbwservlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/ ] 2019-07-11 10:12:15.481 WARN 5872 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class 2019-07-11 10:12:15.484 INFO 5872 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2019-07-11 10:12:15.523 INFO 5872 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-07-11 10:12:15.531 ERROR 5872 --- [ main] osbdLoggingFailureAnalysisReporter :
APPLICATION FAILED TO START
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Process finished with exit code 1
I am hoping that this application would run successfully and I would be able to see JSON output of all user entries with https://localhost:8080/getAllUsers .
Change
findAppUserDTOSByUserName(String userName)
, findAppUserDTOSByUserId(Integer userId);
To
findByUserName(String userName)
, findByUserId(Integer userId);
The query builder mechanism built into Spring Data repository infrastructure is useful for building constraining queries over entities of the repository. The mechanism strips the prefixes
find…By
,read…By
,query…By
,count…By
, andget…By
from the method and starts parsing the rest of it. The introducing clause can contain further expressions such as a Distinct to set a distinct flag on the query to be created.
Also, note that you don't need to use @ResponseBody
with @RestController
as it is active by default. Change Return Type of getAllUsers()
from Object to List<AppUserDTO>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.