Статьи

Полностью рабочие прототипы с Spring Boot и H2

Мы используем много h2 с пружиной, особенно для юнит-тестов. Однако вместо модульных тестов нам может потребоваться полнофункциональный прототип с отображаемыми данными.
H2 является идеальным кандидатом для этого, он отлично работает с Spring, имеет хорошую синтаксическую совместимость с большинством баз данных, а также предоставляет вам интерфейс для проверки ваших данных.

Представьте себе сценарий интервью. Вы хотите, чтобы ваш пример работал «из коробки» с минимально возможной конфигурацией для рецензента. План состоит в том, чтобы приложение работало с некоторыми данными. Перед тем, как получить доступ к приложению, мы можем добавить в него некоторые данные. Тогда нам нужно правильно отобразить добавленные данные без добавления дополнительного кода.

Первым шагом является переход к весеннему инициализатору и добавление зависимостей Web и H2. Также добавим свойство jdbc.

Конечный результат даст файл build.gradle, подобный этому.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
buildscript {
    ext {
        springBootVersion = '2.0.6.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
 
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
 
group = 'com.gkatzioura.springbooth2'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
 
repositories {
    mavenCentral()
}
 
dependencies {
    implementation('org.springframework.boot:spring-boot-starter-jdbc')
    implementation('org.springframework.boot:spring-boot-starter-web')
    runtimeOnly('com.h2database:h2')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

Поскольку мы добавили свойство jdbc, мы можем запустить несколько скриптов схемы после запуска приложения. Таким образом, нам нужно создать файл schema.sql, содержащий операторы sql, которые создают схему.

1
2
CREATE TABLE application_user (ID INT, USER_NAME VARCHAR(50), PASSWORD VARCHAR(255));
INSERT INTO application_user (ID,USER_NAME, PASSWORD) values (1,'test','password-hash');

Следующим шагом является включение консоли h2. Мы будем использовать подход yaml, однако вы можете сделать это либо с помощью файла свойств, либо переменных среды.

1
2
3
4
spring:
  h2:
    console:
      enabled: true

Теперь, когда мы запустили наше весеннее приложение, мы можем перемещаться по конечной точке http: // localhost: 8080 / h2-console .
Нам будут представлены необходимые учетные данные по умолчанию полностью функциональный прототип

После того как мы вошли в систему, мы можем запросить пользователя, которого мы вставили в наш сценарий запуска sql.

полностью функциональный прототип

Это оно! Это может творить чудеса с прототипами, заданиями для интервью и постами в блоге!

Опубликовано на Java Code Geeks с разрешения Эммануила Гкациоураса, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Полностью рабочие прототипы с Spring Boot и H2

Мнения, высказанные участниками Java Code Geeks, являются их собственными.