测试开发【Mock平台】02基础:Java Spring Boot框架知识

【Mock平台】为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React 框架完成搭建一个测试工具平台,希望作为一个实战项目能为你的测试开发学习有帮助。

认识Spring Boot

在N年前的大学时代想要开发一个Web服务使用的还是SSH框架(struts+spring+hibernate)尤其是Spring这块需要进行大量的配置工作,为了简化应用搭建和开发过程出现了Sprint Boot全新开源框架,且功能更加丰富,性能上更加稳定健壮,还提供了大量开箱即用(out-of-the-box)的依赖模块,使用起来更加简单高效,尤其是这几年在互联网微服务的应用上热度很高。

特性

  • 独立的 Spring 应用程序
  • 直接嵌入 Tomcat、Jetty 或 Undertow等容器(无需部署 WAR 文件)
  • 提供 'starter' 核心简化构建配置
  • 尽可能多的自动配置 Spring 和 3rd 方库
  • 提供已集成的产品功能,例如指标、健康检查和外部化配置
  • 完全无需代码生成,无需 XML 配置

Sprint Boot真正少量配置甚至零配置使用各种组件的核心,它将日常应用研发中的各种场景都抽取出来做成独立的 starter(启动器),使用的时只需要在 Maven 中引入 starter 依赖,SpringBoot 就能自动扫描到要加载的信息并启动相应的默认配置。当然也可以自定义修改配置,除了官方Starter还有第三方技术提供,更可以自己开发。

总之在个人开发体验上来说,在如此简单高效+JAVA语言稳定开发的特性下,对于独立Server的服务应用开发相比Python我更愿意用Spring Boot 框架进行开发,下面就参考官方给出一个Demo实例。

不过开始实践之前还需要注意以下几点

  1. 本篇适合有一点JAVA语言基础的小白,以前写过Spring Boot项目的可忽略看后续开发篇文章
  2. 系列文章不做技术展开和深入讲解,只做到应用的层面的讲解
  3. 示例和项目开发需要提前搭建好依赖环境
    • 环境: Java JDK 1.8.x 、Maven 3.x
    • 数据库:Myql 5.7+
    • IDE:IntelliJ IDEA / Eclipse

搭建一个API项目

项目创建

初始化一个Spring Boot 应用两种方式,官方IDE

方式一:官方初始化项目包

Step1. 通过访问 https://start.spring.io/ 选择开发选项和添加依赖包一键生成应用包。

注意本地JDK装的是1.8.X版本,所有Java的选项需要改成8,然后点击GENERATE就会自动下载一个按照选项配置生成的项目包。

Step2. 解压到某路径下,打开IDEA导入项目,选择到 pom.xml -> Open As Project -> Trust Project 导入包后等待maven依赖下加载完成。

方式二:IDEA创建Sprint Boot

新建一个项目(如果IDEA是最新版,请在上一个项目中 File -> Close project 才会进入到项目管理窗口),New Project -> Spring Initializr 选项内容如图所示。

下一步Next 选择版本和添加依赖,点击Finish完成创建。

最终两种方式都会创建出如下的结构的 Spring Boot 应用项目

目录结构说明

|-/src/mian/java  主开发代码和程序入口

|-/src/mian/resources  配置或静态文件资源区

|-/src/mian/resources/application.properties 默认属性配置文件

|-/src/test  测试代码和测试初始化入口

|-pom.xml  应用Maven等配置文件

依赖包说明

  • spring-boot-starter-web 开发Web应用的模块
  • spring-boot-starter-actuator 程序监控器模块
  • spring-boot-starter-test 默认引用 测试模块 如JUnit
  • spring-boot-starter 默认引用核心模块,如果引用了starter-web此依赖自动包含在其中,可以不在项目中显示引用。

实际开发中还会为创建不同模式的目录结构比如MVC,其他的依赖包添加也都会像图中选中部分一样方式随时添加即可。

项目运行

依赖全部初始化完成后,其实暂时不需要编写任何代码就能运行,直接点击IDEA的工具栏Run或Debug按钮。

或通过 Terminal 执行 Maven命令行运行应用。

mvnw spring-boot:run

因为一开始添加了监控依赖包,所以可以直接访问这个接口 http://localhost:8080/actuator 看到一些可访问的接口,选择 /health 健康检查看下服务状态为 UP 服务正常。

编写代码

接下来开发第一个自己的接口,在 /src/mian/java 先创建个资源返回类 HelloEntity.java 用于JSON格式的数据返回,code 表示状态码,content表示内容。

package com.daqi.ideademo;

public class HelloEntity {
    private Integer code;
    private String content;
    
    public HelloEntity(Integer code, String content) {
        this.code = code;
        this.content = content;
    }
    
    public long getCode() {
        return code;
    }
    
    public String getContent() {
        return content;
    }
}

再创建一个控制器类,用于实现API Web服务,识别处理HTTP请求通过 @RestController(包含 @Controller和 @ResponseBody )注解标记为控制类,通过 @GetMapping 注解标记GET方法请求,并给定一个接口路径。

package com.daqi.ideademo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/api/sayHello")
    public HelloEntity sayHello(@RequestParam(value = "content") String content){
        String respContent = "你好,".concat(content);
        return new HelloEntity(200, respContent);
    }
}

@RequestParam 指定了一个接口请求Params参数,sayHello代码中返回code=200,content=格式化接收参数的内容字符串。

以上内容不必过多纠结,后边的分享中在用到的时候都会进行讲解,这块内容照着做有个整体印象即可

运行和测试

在运行程序之前先对入口程序做个简单解释说明

@SpringBootApplication 是一个复合注释,包含以下内容:

  • @Configuration: 将类标记为应用程序上下文的 bean 源。
  • @EnableAutoConfiguration:告诉 Spring Boot 根据类路径设置、其他 bean 和各种属性设置开始添加 bean。例如,如果spring-webmvc位于类路径上,则此注释将应用程序标记为 Web 应用程序并激活关键行为,例如设置DispatcherServlet.
  • @ComponentScan: 开启自动扫描功能,告诉 Spring 在包中查的组件、配置和服务等。

其中 main() 方法使用 Spring Boot 的 SpringApplication.run() 方法来启动应用程序。

接口测试

重新执行 mvnw spring-boot:run或 IDEA 运行按钮,编译重启服务,通过PostMan做个接口带参请求测试。

测试结果如图,正确按照预期给予返回结果。

至此一个简单的后端服务就搞定了,你学会了吗?如果着急想提前恶补 JAVA Spring Boot 知识的,推荐一个专项学习导航网站,最后希望你学过后有所收获,未来不断成长,喜欢就多多支持实战原创吧!

资料参考

[1] Getting Started | Building a RESTful Web Service

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mega Qi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值