Java Spring-boot и в памяти db H2.БД не в h2 веб-консоли - PullRequest
2 голосов
/ 05 марта 2019

Это моя встроенная база данных:

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

Когда я запускаю тесты JUnit, я не вижу в веб-консоли базы данных, созданной во время инициализации контекста приложения.

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

Что не так?

1 Ответ

1 голос
/ 05 марта 2019

Пожалуйста, обратитесь: 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;
}
...