1

In the code I have shared here Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException Caused by: java.lang.NullPointerException I am getting new error. Could you please help me with this.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springLogging3Application': Unsatisfied dependency expressed through field 'factory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'factory' defined in com.spring.main.SpringLogging3Application: Unsatisfied dependency expressed through method 'getSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'datasource' defined in com.spring.main.SpringLogging3Application: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Circular reference involving containing bean 'springLogging3Application' - consider declaring the factory method as static for independence from its containing instance. Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalArgumentException: Property 'driverClassName' must not be empty
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:598) ~[spring-beans-5.1.15.RELEASE.jar:5.1.15.RELEASE]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Circular reference involving containing bean 'springLogging3Application' - consider declaring the factory method as static for independence from its containing instance. Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalArgumentException: Property 'driverClassName' must not be empty
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.15.RELEASE.jar:5.1.15.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~[spring-beans-5.1.15.RELEASE.jar:5.1.15.RELEASE]
    ... 51 common frames omitted
Caused by: java.lang.IllegalArgumentException: Property 'driverClassName' must not be empty
    at org.springframework.util.Assert.hasText(Assert.java:284) ~[spring-core-5.1.15.RELEASE.jar:5.1.15.RELEASE]

application.properties

server.port=6565

db.driver:oracle.jdbc.driver.OracleDriver
db.url:jdbc:oracle:thin:@localhost:1521:xe  
db.username:xxxx  
db.password:xxxx

hibarenate.dialect:org.hibernate.dialect.OracleDialect
hibarenate.show_sql:true  
hibarenate.hbm2ddl.auto:update
entitymanager.packagesToScan:com.spring.main

Updated one:

server.port=6565

db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:xe  
db.username=xxxx 
db.password=xxxx

hibarenate.dialect=org.hibernate.dialect.OracleDialect
hibarenate.show_sql=true  
hibarenate.hbm2ddl.auto=update
entitymanager.packagesToScan=com.spring.main
4

2 回答 2

2

尝试以下操作:

  • 不要在 application.properties 文件中混合使用“=”和“:”分隔符
  • 记录“db.driver”属性,它似乎是空的

问候。

于 2020-06-09T10:09:22.533 回答
0

请分享并检查您的 xyz-servlet.xml 配置文件,您在其中定义了 Spring Spring Boot 和休眠信息。看到您的错误后,我知道这是您的 xml 文件中的休眠异常,请检查您是否定义了DriverClassName详细信息见下面的例子

看看这个 DB 有四个属性 driverClassName、url、username 和 password

<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" name="dataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>**check this property whether you have define or not if not then define it corresponding DB driver name as i have defined my driver details**
<property name="url" value="jdbc:mysql://localhost:3306/hibernatedb"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
于 2020-06-09T09:24:34.337 回答