

[SpringBoot 指南] 如何开始 Springboot 之旅 实现自己第一个接口
source link: https://lihui.net/springboot-create-first-api.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

[SpringBoot 指南] 如何开始 Springboot 之旅 实现自己第一个接口
书写时间 39m59s
预计发布时间 2022-01-01
这篇文章是 springboot 系列的第一篇文章,如何从零开始学习 Springboot.
我认为学习技术,追寻技术的本质没有任何问题,但是在上手技术的时候可能不需要了解太多的技术细节,首先了解如何使用,而后再想办法如何优化也不乏为一条快速学习和实践的道路。
本篇文章的主要思路是,通过实践最简单的 springboot 的项目,实现我们的第一个接口来叩响 Springboot 学习之门。
本章节分为两个部分 新建项目 和 书写第一个接口
本篇文章采用 IDEA 创建 springboot 项目, IDEA 开发 Spring 项目有很多的优点,比如代码补全,代码优化,环境内置,还有很多的插件系统,可以大幅度地提高效率,推荐使用 IDEA 进行开发
1. 打开 IDEA 新建项目
image-20211228233316-u15bp91.png
2. 选择建立 Springboot 项目并填写项目信息
image-20211228233616-c3vchqt.png
其中英文名称释义
Name: 项目名称
Location 代码位置
Type: 这里指的是项目的构建方式 选择 Maven 和 Gradle 在初期体验不到不同,此处我选择的是 Gradle
Group: 可以理解为项目组的名称,一般为域名的反写 比如域名是 exmaple.com 则 Group 的数值为 com.example
Project SDK: 这个很好理解 这个是软件开发的环境
Packaging : 打包的方式, Jar 与 War 的区别是 Jar 打包了运行环境, 直接 java -jar project.jar
可以启动,而 war 需要放在容器(比如 tomcat)中才可以使用
3. 选择依赖
因为我们实现的功能比较简单 我们选择依赖的时候只选择 SpringWeb 即可实现
image-20211228234407-3mb8ost.png
注意上面的 Springboot: 后的 2.6.2 这个是 Springboot 的版本号, 其他的依赖会依赖这个号进行兼容性关联,这里我们也不需要关心,点击完成即可进行下一步
4. 等待依赖下载完成 运行项目测试项目可以正常运行
image-20211228234703-dnqoucd.png
等待箭头所示位置的进度条完成后,点击下图的按钮进行测试
image-20211228234813-0bdhgv8.png
当出现下图的信息 即代表运行成功 Started FirstApiApplication in 1.793 seconds (JVM running for 2.42)
image-20211228234943-1urtq4r.png
我们可以从日志中看到 Tomcat started on port(s): 8080 (http) with context path ''
程序运行在 8080 端口 我们现在打开浏览器测试 8080 端口 预期结果如下(因为我们并没有设置 匹配 /
的路由信息,报如下的错误)
image-20211228235126-8ud6emn.png
我们下面来实现第一个接口
实现第一个接口
1. 新建文件
image-20211228235443-r8kk916.png
并输入名称,回车确认创建文件
image-20211228235517-mgbkrpj.png
第一个接口代码如下
package com.example.firstapi;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sendHello() {
return "Hello World";
}
}
IDEA 中的界面如下
image-20211228235834-eu4qcd8.png
点击重新运行按钮 进行重新运行项目 测试我们第一个接口是否成功
image-20211228235921-coiso0r.png
2. 测试新接口
访问 http://localhost:8080/hello 我们可以发现 我们所写的代码运行成功
此处的 GetMapping
指的是从匹配 HTTP Get 请求的注解,代表当匹配到括号里面到内容时候,采用下面的方法来处理。
image-20211229000028-e75pwai.png
由此,我们的 Springboot 指南开始正式入门。
Recommend
-
107
本篇介绍的不是什么新知识,而是对前面讲解的一些知识的综合运用。众所周知,递归是解决复杂问题的一个很有效的方式,也是函数式语言的核心,在一些函数式语言中,是没有迭代与while这种概念的,因为此类的循环通通可以用递归来实现,这类语言的编译器都对递归的尾递...
-
66
springboot简单介绍 概述 随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。 在上述环境下,
-
65
项目源码 项目的源代码,可以从CSDN的博客下载地址:SpringBoot整合SSM框架——最简单示例获取。注意resources文件夹下的umanager.sql建库建表文件要先执行一下。 也可以从我的GitHub仓库:SpringBootDemo上获取源代
-
26
React 是目前最流行的前端框架,很多读者用 React 很溜,但想要深入学习 React 的原理就会被官方源码仓库浩瀚如烟的代码绕的晕头转向。今天我们通过不依赖任何第三方库的方式,抛弃边界处理、性能优化、安全性等弱相关代码手写一个基础版的 React,供大
-
5
从0开始的机器学习之旅,GTC大会飞桨显真章-品玩从0开始的机器学习之旅,GTC大会飞桨显真章 11小时前 在各类AI大会里,英伟达每年两次的GTC大会可谓颇有名头。这当然不仅仅是因为英伟达的GPU产品在AI产业有着举足轻重的地位,也是因为GTC大会连续多年带...
-
8
上篇中我们讲述了seata的基于2PC的AT事物实战篇。在下篇中我们将会非常详细的描述一下如何利用seata来实现TCC事务补偿机制的原理。 目前网上所有的对于seata的TCC讲解只有一篇阿里原本的seata-tcc,它原本自带的这个例子有如下几个缺点: ...
-
7
囤币党如何开始 DeFi 之旅Skip to the content 王一石 A Chinese independ...
-
8
最近的一段时间里,并没有折腾Open edX (跑去创业了),但对这个项目仍然保持着关注 从新版本的发布(Ginkgo),到前端技术栈的迁移(React),以及基于docker的devstack的进展,偶然周末想起来,都有保持跟进。 接下来的一段时间,将离职开始一段长途旅行...
-
7
花了几个小时整合的"A Complete Guide to Flexbox"最新版本,介绍了flexbox的所有属性,外带几个实用的例子。 传统布局、Flexbox 布局的传统解决方案,基于盒状模型,依赖 display...
-
3
什么是SCSS Sass: Sass Basics (sass-lang.com) SCSS 是 CSS 的预处理器,它比常规 CSS 更强大。 可以嵌套选择器,更好维护、管理代码。 可以将...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK