后端Web开发框架(Java)

本文介绍了Spring Boot的优势,如简化配置、内置Tomcat、提供Maven配置等,并通过步骤指导如何快速创建Spring Boot项目。同时,文章还提到了hamcrest断言在单元测试中的使用,以及后续将涉及的后端Web开发扩展知识。


根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。
hamcrest 断言 maven依赖:

hamcrest支持多种语言,这里以 Java 为例:
进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:

为什么使用Spring Boot

  • 简化配置,无需编写太多的 xml 配置文件,效率很高;
    • Spring 可以整合很多各式各样的框架,并能很好的集成;
    • 基于 Spring 构建,使开发者快速入门,门槛很低;
    • Spring Boot 可以创建独立运行的应用而不需要依赖外部组件或工具;
    • 内置 Tomcat 服务器,无需打成 war 包,可以直接在内置 Tomcat 中运行;
    • 提供 Maven 极简配置,以及可视化的相关监控功能,如性能监控,应用健康程度等;
    • 为微服务 Spring Cloud 奠定了基础,使得微服务的构建变得简单;
    • 活跃的社区与论坛,以及丰富的开发文档;

Spring Boot快速开始

  • 打开 https://start.spring.io/,可以看到以下信息(可根据需要调整):
    • Spring Boot 默认为 Maven 项目;
    • 默认语言为 Java ;
    • Spring Boot 当前默认版本为 2.4.4;
    • 默认会打成 Jar 包;
    • Java 版本默认为 11;
    • 在 Group 中填入自己的组织,一般填写公司域名的到写,例如 com.ceshiren 或者 com.baidu;
    • 在 Artifact 中填写工程的名称,例如 aitest-demo ;
    • package 选择 Jar ,Java 根据自己的 JDK 版本选择,如我本地为 JDK8,则此处可以选择 8,至此,基础选择已经全都选完,接下来要开始选择我们使用的 Spring Boot 的组件了。
    • 在右侧 Dependencies 中找到 Spring Web ,选择 Spring Web 即可创建 Spring Boot 服务:
    • 配置完毕后,点击下方左边第一个按钮( GENERAT ECTRL + ⏎)即可生成包含 Spring Boot 项目完整示例代码和配置的压缩包文件,解压后即可使用。
  • 以 idea 为例
    • 打开 idea ,
    • file -> new -> project ,
    • 选中 Spring Initializr ,这时可以看到右侧让我们选择一个初始化的服务 url,默认的就是上面的官方链接,https://start.spring.io/
    • 点击 next 下一步,填写和上面一样的 Group 、 Artifact 、 Java 版本、 package 方式等信息,
    • 继续 next 下一步,选择依赖,和前面的方法的一样,在 Dependencies 中找到 Spring Web ,选择 Spring Web ,
    • 点击 next ,选择项目名称和存储路径,点击 finish ,第一个项目 aitest-demo 就创建完成了
  • 我一般选择第一种方式创建 Spring Boot 项目,这种方式不依赖 IDE 工具。

  • 目录结构介绍
    • pom.xml:Maven 工程配置文件,主要配置当前工程的一些基本信息,包含我们当前依赖的组件,版本、Maven 插件等信息;
    • src/main/java 下的程序入口:AitestDemoApplication,通过类名上方的 SpringBootApplication 注解来加载 Spring Boot 各种特性;
    • src/main/resources 下的配置文件:application.properties;
    • src/test/下的测试入口:AitestDemoApplicationTests。
  • Web 后端开发框架 Spring Boot 先讲到这里,后面会继续讲后端 Web 开发扩展知识,包括 RESTful 风格 API 设计、Spring Boot 集成 Swagger、Spring Boot 异常处理,敬请关注哦~
    原文链接

获取更多技术文章分享
官网也对断言进行了分类和说明:

先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下:

在Junit4的官方也给出了说明:
可以看到,hamcrest 会统一先使用 assertThat 来声明一个断言,然后再在内部进行具体匹配器的断言细节,期望值和实际值进行对比;有了 hamcrest 断言,就可以直接摒弃原生的断言了~

Hamcrest断言功能很强大,那么如何 get 这个功能的正确打开方式呢?接下来用实操演示,带领大家一起来进行实操。毕竟:内化于心,外化于行才是最重要的。

  • equalTo: 判断相等

  • 在失败时可以看到打印了我的说明:actual value equal to 10 以及失败的对比,<> 表示原始类型

  • closeTo: 接近于多少,给定误差值源码中是这样写的
    需要给定两个 double 类型的参数,一个是你要操作的数值,一个是误差范围;另外要注意的是实际值也必须是 double 类型才可以进行对比:

  • anyOf : 后面可跟上多个匹配器,只要其中任何一个满足条件就通过

  • allOf : 后面可跟上多个匹配器,只要其中任何一个不满足条件都不通过

  • 另外还有很多常用的匹配器,比如

    • hasItem, hasItems ,contains,等;具体的可以参考官方文档和类库
  • hamcrest官方文档:

  • http://hamcrest.org/JavaHamcrest/tutorial

  • 官方GitHub:

  • https://github.com/junit-team/junit4/wiki/Matchers-and-assertthat

  • Mvnrepository:

  • https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core/2.1

  • 想深度掌握断言机制的同学,这里也推荐霍格沃兹测试学院独家特色课程:

  • https://ke.qq.com/course/254956

推荐霍格沃兹测试学院出品的 《测试开发从入门到高级实战》系统进阶班课程。

4 个月由浅入深,强化集训,测试大咖通过 8+ 企业级项目实战演练,带你一站式掌握 BAT 测试开发工程师必备核心技能(对标阿里巴巴P6+,挑战年薪50W+)!

原文链接

获取更多技术文章分享

JavaWeb是基于 SpringBoot2+Layui2.5.6+Thymeleaf++Shiro+MybatisPlus 研发的权限(RBAC)及内容管理系统,致力于做更简洁的后台管理框架,包含系统管理、代码生成、权限管理、站点、广告、布局、字段、配置等一系列常用的模块,整套系统一键生成所有模块(包括前端UI),一键实现CRUD,简化了传统手动抒写重复性代码的工作。 同时,框架提供长大量常规组件,如上传单图、上传多图、上传文件、下拉选择、复选框按钮、单选按钮,城市选择、富文本编辑器、权限颗粒度控制等高频使用的组件,代码简介,使用方便,节省了大量重复性的劳动,降低了开发成本,提高了整体开发效率,整体开发效率提交80%以上,JavaWeb框架专注于为中小企业提供最佳的行业基础后台框架解决方案,执行效率、扩展性、稳定性值得信赖,操作体验流畅,使用非常优化,欢迎大家使用及进行二次开发JavaWeb介绍: 1、模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。 2、模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。 3、JavaWeb企业级开发框架是一套基于SpringBoot2 + Layui开发出来的框架。 4、支持SQLServer、MySQL、Oracle、PostgreSQL、SQLite等多数据库类型。模块化设计,层次结构清晰。 5、Shiro权限认证,操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、功能按钮。提高开发效率及质量。 6、常用类封装,日志、缓存、验证、字典、文件(本地、七牛云)。等等,目前兼容浏览器(Chrome、Firefox、360浏览器等) 7、适用范围:可以开发OA、ERP、BPM、CRM、WMS、TMS、MIS、BI、电商平台后台、物流管理系统、快递管理系统、教务管理系统等各类管理软件。 JavaWeb功能特性: 严谨规范: 提供一套有利于团队协作的结构设计、编码、数据等规范。 高效灵活: 清晰的分层设计、钩子行为扩展机制,解耦设计更能灵活应对需求变更。 严谨安全: 清晰的系统执行流程,严谨的异常检测和安全机制,详细的日志统计,为系统保驾护航。 组件化: 完善的组件化设计,丰富的表单组件,让开发列表和表单更得心应手。无需前端开发,省时省力。 简单上手快: 结构清晰、代码规范、在开发快速的同时还兼顾性能的极致追求。 自身特色: 权限管理、组件丰富、第三方应用多、分层解耦化设计和先进的设计思想。 高级进阶: 分布式、负载均衡、集群、Redis、分库分表。 命令行: 命令行功能,一键管理应用扩展。 基于SpringBoot 简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。 利用Thymeleaf模板引擎 对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。 JS封装 对常用js插件进行二次封装,使js代码变得简洁,更加易维护。 参数配置 灵活控制常用功能的开关,无需重启项目即可生效,实时刷新。 演示地址账号密码: 登录账号:admin 登录密码:123456 验证码:520
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值