惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
N
News and Events Feed by Topic
D
DataBreaches.Net
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
Y
Y Combinator Blog
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
A
About on SuperTechFans
I
InfoQ
S
Securelist
Last Week in AI
Last Week in AI
S
Schneier on Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Hacker News: Ask HN
Hacker News: Ask HN
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
腾讯CDC
大猫的无限游戏
大猫的无限游戏
S
Security @ Cisco Blogs
博客园 - 三生石上(FineUI控件)
Simon Willison's Weblog
Simon Willison's Weblog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
美团技术团队
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
罗磊的独立博客
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
S
Secure Thoughts
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Latest news
Latest news
Recent Announcements
Recent Announcements
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LINUX DO - 热门话题
Security Latest
Security Latest
TaoSecurity Blog
TaoSecurity Blog
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队

Li Hui Blog

工作流调研与实践经验 如何搭建私有仓库 Nexus 并配置 SSL 证书 从零开始搭建单节点 ELK 浅谈一个产品的用户引导 归档 GoCD 加入基础密码验证 搭建一套 gocd 的环境 如何使用 gitbook cli工具 React JSX语法再实践 React 组件示例 如何搭建第一个 React 程序 [SpringBoot 指南] 连接 mysql 数据库并进行增删改查测试 LeetCode刷题笔记 VPC笔记 读书的目的 [人文书籍] 把时间当作朋友 Docker基础命令 [技术书籍]JSON必知必会 Docker原理研究 使用Ubuntu 及宝塔搭建Ghost平台 [Linux]Ubuntu安装宝塔面板 2020年年终总结 CURL学习教程 2020年度计划记录 [安全系列]生成ssh证书 [CLI应用学习]时间使用GitHub CLI [linux系列] 修改主机用户名 轻松学CLI应用总章节 [Shell编程系列]基础教程2 [Shell编程系列]基础教程1 [安全相关]使用腾讯云子账号提高账号安全性 [Git教程系列]基础教程5 解决修改错分支的问题 [博客优化]为Wordpress加入伪静态 2020年的12本书籍 [Git系列教程]基本使用4 Git log的使用 [Git系列教程]Git基础操作3 [Git教程系列]基础操作2 [Git教程系列]Git初次配置 [周年总结]脉脉深情,深思志远,周年总结计划 [博客优化]为网站添加SSL证书 [博客优化]Wordpress加入redis服务器提高速度 开篇词 Posts Archive Li Hui Blog
[SpringBoot 指南] 如何开始 Springboot 之旅 实现自己第一个接口
2022-01-01 · via Li Hui Blog

书写时间 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 第一个接口代码如下

 1package com.example.firstapi;
 2
 3import org.springframework.web.bind.annotation.GetMapping;
 4import org.springframework.web.bind.annotation.RestController;
 5
 6@RestController
 7public class HelloController {
 8    @GetMapping("/hello")
 9    public String sendHello() {
10        return "Hello World";
11    }
12}

IDEA 中的界面如下

image-20211228235834-eu4qcd8.png 点击重新运行按钮 进行重新运行项目 测试我们第一个接口是否成功

image-20211228235921-coiso0r.png

2. 测试新接口

访问 http://localhost:8080/hello 我们可以发现 我们所写的代码运行成功

此处的 GetMapping 指的是从匹配 HTTP Get 请求的注解,代表当匹配到括号里面到内容时候,采用下面的方法来处理。

image-20211229000028-e75pwai.png 由此,我们的 Springboot 指南开始正式入门。