【问题标题】:How do I enable H2 Console in a Spring Boot Library?如何在 Spring Boot 库中启用 H2 控制台?
【发布时间】:2022-01-18 21:51:12
【问题描述】:

我有一个非 Web Spring Boot 库,它具有持久性实体,Web 应用程序客户端将使用这些实体与数据库进行通信。当我创建我的测试时,我在我的 spring 集成测试中使用@SpringBootTest,从而使用我的库模拟一个 spring boot 应用程序。

spring.h2.console.enabled 设置为true 时,我认为我可以通过集成测试进行调试并启用H2 控制台,这样我就可以通过转到http://localhost:8080/h2-console 来查看数据,但是控制台无法在我的浏览器中加载。

我怀疑这与以下事实有关,因为我的库不是 web-mvc 库,它不会自动配置 H2 WebServlet,但我想知道提供该属性是否足以spring boot 自动配置servlet。

有谁知道提供 H2 属性是否足够?或者我需要做些什么来启用 H2 WebServlet?

【问题讨论】:

标签: spring-boot spring-data-jpa spring-boot-test


【解决方案1】:

通过在@SpringBootTest 注释中添加webEnvironment 条目,我设法使其工作(在某种程度上)。这允许注册 H2 WebServlet。我说“有点”的原因是因为每当我调试测试时,线程似乎暂停,并且在我的浏览器(http://localhost:8080/h2-console)中请求它时,我从 H2 获得了非常延迟的响应时间。我的 H2 数据库非常小(500 KB),所以我认为这与嵌入的服务器有关并以某种方式与测试相关联?

【讨论】:

    猜你喜欢
    • 2023-02-08
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2014-08-30
    • 2020-12-15
    • 1970-01-01
    • 2016-05-11
    • 2019-07-27
    相关资源
    最近更新 更多