【问题标题】:Java Spring-boot and in memory db H2. db not in h2 web consoleJava Spring-boot 和内存 db H2。 db 不在 h2 web 控制台中
【发布时间】:2019-07-27 02:29:39
【问题描述】:

这是我的嵌入式数据库:

   public void init() {
      EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
      db = builder
            .setType(EmbeddedDatabaseType.H2)
            .addScript("h2/create.sql")
            .addScript("h2/insert.sql")
            .build();
    }

当我启动 JUnit 测试时,我在 Web 控制台中看不到在应用程序上下文初始化期间创建的数据库。

@Before
public void initTest() throws SQLException {
    Server webServer = Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082");
    webServer.start();
}

怎么了?

【问题讨论】:

  • 你试过了吗? spring.h2.console.enabled=true

标签: java spring-boot h2 in-memory-database


【解决方案1】:

请参考:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-sql-h2-console

您可能希望使用以下属性:

spring.h2.console.enabled=true
spring.h2.console.path=/path/to/console

或以编程方式启动服务器:

@Bean
public ServletRegistrationBean h2servletRegistration() {
    ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
    registration.addUrlMappings("/console/*");
    registration.addInitParameter("webAllowOthers", "true");
    return registration;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 2015-06-27
    • 2016-05-05
    • 2020-10-23
    • 2014-08-30
    • 2023-02-08
    • 1970-01-01
    • 2018-02-05
    相关资源
    最近更新 更多