首页 > 其他分享 >使用Spring Boot和H2完全工作的原型

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

时间:2023-06-15 10:32:01浏览次数:53  
标签:H2 Spring boot springframework Boot spring org


我们在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应用程序,我们就可以在端点上导航。
我们将获得所需的默认凭证。

使用Spring Boot和H2完全工作的原型_应用程序

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

使用Spring Boot和H2完全工作的原型_应用程序_02

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

标签:H2,Spring,boot,springframework,Boot,spring,org
From: https://blog.51cto.com/u_16145034/6485105

相关文章

  • Mongodb - org.springframework.dao.DuplicateKeyException
    首先明确场景为mongodb,此异常在进行mongodb的插入操作时抛出,插入的主键已经存在。衍生场景,使用upsert时抛出,此处的包括了$set和$setOnInsert由于upsert非原子操作,如果在多线程环境下:线程A和线程B同时对数据库未存在的记录record1进行upsert,有可能会出现两个线程都判断为应该进行......
  • SpringBoot+druid+dynamic+clickhouse+mysql实现读写分离
    背景:clickhouse+mysql实现读写分离1.配置mysql2.安装clickhouse3.使用可视化工具连接clickhouse4.创建clickhouse的数据库并连接mysql5.SpringBoot+druid+dynamic配置多数据源实现读写分离一.背景由于系统数据量过大,查询条件自定义过多,mysql在查询时响应太慢,所以使用cli......
  • 顶奢好文:3W字,穿透Spring事务原理、源码,至少读10遍
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • springboot启动流程 (1) 流程概览
    本文将通过阅读源码方式分析SpringBoot应用的启动流程,不涉及Spring启动部分(有相应的文章介绍)。本文不会对各个流程做展开分析,后续会有文章介绍详细流程。SpringApplication类应用启动入口使用以下方式启动一个SpringBoot应用:@SpringBootApplicationpublicclassSpringBoo......
  • SpringBoot集成支付宝 - 少走弯路就看这篇
    最近在做一个网站,后端采用了SpringBoot,需要集成支付宝进行线上支付,在这个过程中研究了大量支付宝的集成资料,也走了一些弯路,现在总结出来,相信你读完也能轻松集成支付宝支付。在开始集成支付宝支付之前,我们需要准备一个支付宝商家账户,如果是个人开发者,可以通过注册公司或者让有公......
  • Spring Cloud Alibaba-服务间通信-学习笔记
    目录SpringCloudAlibaba学习笔记简介服务间通信seatrarockermqdubbo的区别具体的使用场景和区别SeataRocketMQDubbo技术选型SpringCloudAlibaba学习笔记简介SpringCloudAlibaba是一个分布式应用架构解决方案,它是基于SpringCloud和阿里巴巴的一些组件构建的。而Sp......
  • springboot+elementUI
    功能简介后端用springboot实现数据库的增删改查,前端用vue中的elementUI编写,实现简单的数据展示和增删改。环境准备1.vue环境vue安装:https://www.cnblogs.com/xiaozhaoboke/p/16888421.html安装好后打开vueui进入项目管理器,创建项目添加elementUI插件和axios插件2......
  • spring中用到哪些设计模式
     1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了;2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了;3.代理模式,在Aop实现中用到了JDK的动态代理;4.单例模式,这个比如在创建bean的时候。5.Tomcat中有很多场景都使......
  • springboot-feign接口压缩异常
    WARNorg.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver-Resolved[org.springframework.http.converter.HttpMessageNotReadableException:JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\......
  • SpringBoot使用自定义的logback日志
    1.介绍描述:主要由三个模块构成logback-core:核心代码块(不介绍)logback-classic:实现了slf4j的api,加入该依赖可以实现log4j的api。logback-access:访问模块与servlet容器集成提供通过http来访问日志的功能(也就是说不需要访问服务器,直接在网页上就可以访问日志文件,实现HTTP访问......