【Spring Boot】我的第一个Spring Boot练习
背景
Spring 在 Java 生态的企业级开发项目中极其常用,通常我们为项目引入一项新技术时,不得不考虑如何将新技术与 Spring 整合在一起。
我们知道,预研一项新技术,我们基于 MVP(最简化可实行产品)原则,有助于使我们聚焦在新技术本身,也可以避免其他问题的干扰。
所以,我们经常需要搭建一个最简单的 Spring Boot 的练习,本文做个简单的记录。
要提前准备什么?
- 基础的 Java 知识
- 好用的 IDE(集成开发环境),本文使用 IDEA
- JDK(Java 开发工具),本文使用 JDK8
搭建步骤
在 spring initializr 的网站生成 Spring Boot 的脚手架,本文加入了 “Web 模块”,使用的具体配置如下:
点击 GENERATE 就能生成脚手架的代码并下载下来,然后我们解压代码,并把代码引入IDEA。
为了提供Web服务用于测试,我们添加一个Controller,下文的Controller的意图是添加一个“心跳接口”,如果“心跳接口”返回“SUCCESS”,表示应用的接口服务正常:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HeartBeatController {
@GetMapping("/heartBeat")
public String hello() {
return "SUCCESS";
}
}
然后,我们运行 com.example.demo.DemoApplication#main
方法即可启动项目:
启动,及阅读启动日志
如无意外,启动后会看到如下日志(日志为了方便查看,做了部分内容删减):
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.5.5)
com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_191 on USER-20200704PZ with PID 816 (D:\workspace\demo\target\classes started by Administrator in D:\workspace\demo)
com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
o.apache.catalina.core.StandardService : Starting service [Tomcat]
org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.53]
o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1861 ms
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
com.example.demo.DemoApplication : Started DemoApplication in 3.272 seconds (JVM running for 4.028)
o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
通过阅读启动日志,我们可以知道最简单的 Spring Boot 相应的启动过程:
- 打印 Banner 文字图案,当然,这个文字图案是可配置的,请自行查询
- 打印什么用户在什么机器在哪个进程号使用什么版本的JDK启动服务
- 打印使用的 Profile,本文是
default
- 打印启动服务器所使用的服务端口,本文是
8080
- 启动服务
- 启动 Servlet 引擎,本文是
Apache Tomcat/9.0.53
- 初始化
WebApplicationContext
- Web服务器启动完成,打印使用的协议、端口、上下文路径,本文分别是:
http
、8080
、空上下文路径 - 打印启动应用所耗费的时间及JVM运行的时间
- 打印初始化
Spring DispatcherServlet
的过程
最后,我们使用浏览器访问 http://127.0.0.1:8080/heartBeat 即可看到效果:
作者:Nick Huang 博客:http://www.cnblogs.com/nick-huang/
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用