由以下原因引起:java.lang.illegalargumentexception:属性“driverclassname”不能为空

e37o9pze  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(1265)

在我在这里共享的代码中,线程“restartedmain”java.lang.reflect.invocationtargetexception中的异常由以下原因引起:java.lang.nullpointerexception我得到了新的错误。你能帮我做这个吗。

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]

应用程序属性

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

更新的一个:

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
yptwkmov

yptwkmov1#

请尝试以下操作:
不要在application.properties文件中混合“=”和“:”分隔符
记录“db.driver”属性,它似乎是空的
当做。

zyfwsgd6

zyfwsgd62#

请共享并检查您的xyz-servlet.xml配置文件,您在其中定义了spring boot和hibernate信息。在看到您的错误(据我所知,这是您的xml文件中的hibernate异常)后,请检查您是否定义了driverclassname详细信息,请参阅下面的示例
检查这个数据库有四个属性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>

相关问题