java - 在 Spring 启动项目中是否必须配置 DataSource?

标签 java mysql spring spring-boot web

我想创建一个基本的 Spring 启动应用程序并发出一个获取请求。我已经添加了 Spring JPA、Spring Web 依赖项并开始在端口 8080 中运行,但我的应用程序无法启动。它说 "说明:

无法配置数据源:未指定“url”属性,无法配置嵌入式数据源。 原因:无法确定合适的驱动程序类“。

我没有添加任何数据库依赖项,因为我不需要它,在我的项目中是否必须具有数据库依赖项? 这是我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>

4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.1.发布 com.example java-示例项目 0.0.1-快照 java-示例项目 Spring Boot 的演示项目

<properties>
    <java.version>1.8</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>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

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

最佳答案

如果您包含 Spring JPA,那么是的,它是强制性的。

但是您可以轻松地禁用 Spring 自动配置:

spring.autoconfigure.exclude=
  org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, \
  org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, \
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

关于java - 在 Spring 启动项目中是否必须配置 DataSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62749159/

相关文章:

java - 蓝牙 4.0 设备可以向蓝牙 2.0 设备发送数据吗?

mysql - 使用从另一个表连接的数据批量更新 MySQL 表

spring - 如何运行Spring Boot快速启动代码

Java JComboBox数组只显示一个元素

JavaFX方法引用事件处理

c# - 在 .NET 中将多个非 SELECT MySQL 语句作为单个命令文本执行

mysql - 具有多个连接的查询将仅返回我的左连接之一

java - 如何使用FEIGN客户端发送SOAP对象?

java - 如何在 Spring Boot @ResponseBody 中返回 404 响应状态 - 方法返回类型是响应?

java - 如何确定在注册时结束句子的时间?