使用Spring Boot和H2完全工作的原型

我们在Spring中使用了很多H2,特别是用于单元测试。但是,我们可能希望拥有一个包含数据的全功能原型,而不是单元测试。

H2是完美的候选者。它适用于Spring,与大多数数据库具有很强的语法兼容性,并提供用于检查数据的UI。

想象一下面试任务的情景。您希望您的示例开箱即用,尽可能少的配置为审阅者。

计划是使应用程序启动并运行数据。在访问应用程序之前,我们不妨向其添加数据。然后,我们需要有一个正确的方法来显示添加的数据,而无需添加额外的代码。

第一步是转到Spring初始化器并添加Web和H2依赖项。此外,我们将添加JDBC属性。

最终结果将为我们提供一个build.gradle文件,如下所示:

buildscript {
\ text {
springBootVersion  =  '2.0.6.RELEASE'
}
存储库 {
mavenCentral()
}
依赖 {
classpath(“org.springframework.boot:spring-boot-gradle-plugin:$ { springBootVersion }”)
}
}

apply  plugin: 'java'
申请 插件: 'eclipse'
apply  plugin: 'org.springframework.boot'
apply  plugin: 'io.spring.dependency-management'

group  =  'com.gkatzioura.springbooth2'
version  =  '0.0.1-SNAPSHOT'
sourceCompatibility  =  1.8

存储库 {
mavenCentral()
}


依赖 {
实现('org.springframework.boot:spring-boot-starter-jdbc')
实现('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}


由于我们添加了JDBC属性,因此我们可以在应用程序启动后执行一些模式脚本。
因此,我们需要创建一个schema.sql文件,其中包含创建模式的SQL语句。


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


下一步是启用H2控制台。我们将采用YAML方法; 但是,您可以使用属性文件或环境变量来执行此操作。


春天:
  h2 :
    控制台:
      启用:true


现在,一旦我们运行Spring应用程序,我们就可以在端点上导航
我们将获得所需的默认凭证。

登录后,我们可以查询我们在启动SQL脚本中插入的用户。

而已!这可以为原型,面试作业和博客文章创造奇迹!


猜你喜欢

转载自blog.51cto.com/14009535/2320098