【问题标题】:Spring apllication run failedSpring 应用程序运行失败
【发布时间】:2021-11-11 18:40:27
【问题描述】:

嘿,我遇到了这个错误,我无法解决,谢谢你的帮助

ERROR 7924 --- [main] o.s.boot.SpringApplication : 应用程序运行失败

在类路径资源中定义名称为“dataSourceScriptDatabaseInitializer”的 bean 创建时出错

这是我的 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>employeemanager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>employeemanager</name>
    <description>Employee Manager App </description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

还有我的 application.properties:

# mySQL configuration
spring.datasource.url=jbdc:mysql://localhost:3306/employeemanager
spring.datasource.username=root 
spring.datasource.password=letmein 
spring.jpa.show-sql=true 
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

【问题讨论】:

标签: mysql spring spring-boot


【解决方案1】:

我记得,我在集成过程中遇到了类似的问题。

请您验证您的 pom.xml 和 application.properties/application.yaml 配置,如下所示。

示例 - Maven Pom.xml 4.0.0

    <groupId>com.example</groupId>
    <artifactId>spring-boot-security-oauth2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.4</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
            <version>2.4.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>javax.persistence-api</artifactId>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

应用程序属性 - application.yaml

spring:
 datasource:
  url: jdbc:mysql://localhost:3306/bootdb
  username: root
  password: admin
 jpa: 
  hibernate.ddl-auto: update
  show-sql: true
 user.datasource.driver-class-name: com.mysql.jdbc.Driver

有关更多详细信息,您可以查看以下工作示例:

  1. https://thebasictechinfo.com/interview-preparation/spring-boot-oauth2-securing-rest-api/
  2. https://thebasictechinfo.com/java-8/spring-boot-spring-security-with-database-authentication-mysql-rest-api-example/

另外,您能否尝试以下属性。

spring.datasource.jdbcUrl=jdbc:mysql://localhost/bootdb?useSSL=false
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

享受:)

【讨论】:

    【解决方案2】:
    # mySQL configuration
    spring.datasource.url=jbdc:mysql://localhost:3306/employeemanager
    

    有一个错字,应该是 jdbc 而不是 jbdc

    【讨论】:

      【解决方案3】:

      在 Spring Boot 2.5.X 上,data.sql 脚本现在在 Hibernate 初始化之前运行。如果您想使用 data.sql 填充 Hibernate 创建的架构,请尝试将以下内容添加到您的 application.properties spring.jpa.defer-datasource-initialization=true

      【讨论】:

      • 错误创建名为 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration' 的 bean 它给了我这个错误任何想法?
      • 尝试将以下内容添加到您的 application.properties:spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
      猜你喜欢
      • 2019-04-01
      • 1970-01-01
      • 2020-10-26
      • 2019-04-30
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多