Мы используем много 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.8repositories {    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 | CREATETABLEapplication_user (ID INT, USER_NAME VARCHAR(50), PASSWORDVARCHAR(255));INSERTINTOapplication_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, являются их собственными. | 
