云计算百科
云计算领域专业知识百科平台

《SpringBoot 入门通关指南:从 HelloWorld 到问题排查全掌握》

一、SpringBoot介绍

  • Spring 框架的定位
    • 是全球最流行的 Java 框架,特点是让 Java 开发更快速、简单、安全,覆盖 Web 开发、大数据等领域,形成了自身技术生态圈。
  • Spring Boot 的诞生背景
    • Spring Framework 存在配置繁琐、入门难度高的问题,因此 Spring 官方推出 Spring Boot,以简化 Spring 项目的开发流程。
  • Spring Boot 的核心作用
    • 作为 Spring 框架的 “脚手架”,通过预设配置、简化流程,帮助开发者快速搭建并启动 Spring 应用,大幅提升开发效率。
  • 补充:Spring Boot 是 Spring 生态中的核心项目之一,除它之外,Spring 生态还包含 Spring Data(统一数据访问)、Spring Cloud(微服务开发)等项目,各项目基于 Spring Framework 实现不同场景的功能支持。

    二、⽬录介绍

    • src/main/java: Java 源代码
    • src/main/resources: 为静态资源或配置文件:
      • /static: 静态资源文件夹,比如 js,css,html 等静态文件,不需要服务器数据进行绑定的页面
      • /templates: 模版资源文件夹,主要存放动态模板文件,比如 JSP,Freemarker,Thymeleaf 等需要服务器动态渲染数据的文件
    • src/test/java: 测试代码源代码
    • target: 编译后的文件路径
    • pom.xml: maven 配置文件

    三、运⾏项⽬

  • 启动类的自动生成正常通过 Spring Initializr(官网 / IDEA 插件)创建 Spring Boot 项目时,会自动生成一个带有@SpringBootApplication注解的启动类(默认类名一般是 “项目名 + Application”,比如这里的DemoApplication)。
  • 启动类的数量一个 Spring Boot 项目通常只需要一个启动类(因为@SpringBootApplication包含了自动配置、组件扫描等核心功能,多启动类可能导致配置冲突)。特殊场景下(如多模块项目)可能有多个,但一般项目中保持一个即可。
  • 服务启动的要求每次启动 Spring Boot 服务,必须通过启动类的main方法(或对应的启动命令)来启动—— 只有启动类执行后,Spring 容器才会初始化、加载配置并启动服务。
  • 包扫描规则:默认只扫描启动类所在包(如启动类在 com.demo,则 com.demo.controller/com.demo.service 会被扫描,com.other 不会),如需扫描外部包,需手动配置:
  • 四、输出Hello world

    1. 核心注解作用
    • @RestController:这是 Spring 的 “控制器注解”,同时包含了@Controller(标记这是控制器类和@ResponseBody(让方法返回的内容直接作为响应体,比如这里返回字符串"Hello World",前端就能直接收到这个文本)。

    • @RequestMapping:用来 “绑定请求路径”,可以用在类上或方法上:

      • 类上的@RequestMapping("/user"):给这个控制器的所有方法统一加一个 “路径前缀”;
      • 方法上的@RequestMapping("/u1"):是当前方法的 “路径后缀”。
    2. 最终访问路径

    这个u1()方法的完整访问路径是:类路径前缀 + 方法路径后缀 → http://你的服务器地址:端口/user/u1。

    比如你的项目启动在本地 8080 端口,访问http://localhost:8080/user/u1,就能触发u1()方法,前端会收到响应内容"u1"。

  • 类上的 @RequestMapping 是 “公共路径”:相当于给这个控制器下的所有方法 “统一开头”,避免每个方法都写重复的路径(比如所有用户相关接口都以/user开头);
  • 方法上的 @RequestMapping 是 “专属路径”:区分同一个控制器下的不同方法,是访问具体功能的 “最后一段路径”;
  • 必须 “前缀 + 后缀” 完整匹配:只访问前缀(/user)会报错,因为没有方法对应这个路径;只有加上方法的后缀,才能精准找到要执行的方法。
  • 3. 对应 “建立连接 – 请求 – 响应” 的流程
    • 建立连接:Spring 启动后,会自动扫描@RestController类,把@RequestMapping的路径和方法 “注册” 到请求映射表中;
    • 请求:前端发/user/m1的请求,Spring 根据路径找到对应的m1()方法;
    • 响应:m1()返回"m1",Spring 把这个字符串作为 HTTP 响应的内容返回给前端。

    五、Web服务器

    1.Web 服务器
  • 核心作用:
    • 封装 HTTP 协议,简化开发(无需手动解析 HTTP 规则)
    • 也称为 WWW 服务器 / HTTP 服务器,提供信息浏览服务
  • 常见类型:
    • Apache、Nginx、IIS、Tomcat、JBoss 等
  • SpringBoot 与 Tomcat:
    • SpringBoot 内置 Tomcat 服务器,无需额外配置即可运行
    • Tomcat 默认端口为 8080,程序访问端口与之对应
  • 2.请求响应流程
  • 流程概述:浏览器输入 URL → 建立连接 → 发送请求 → 服务器处理 → 返回响应
  • URL 解析(以http://127.0.0.1:8080/user/u1为例):
    • 127.0.0.1:本地 IP 地址,定位到本机
    • 8080:端口号,找到本机运行的对应程序进程
    • /user/u1:请求的资源路径,对应服务器中存储的数据
  • 服务器处理步骤:
    • 接收请求信息(如/user/u1)
    • 查找对应资源
    • 将资源返回给浏览器
  • 补充说明

    • 127.0.0.1 是本地回环地址,仅用于本机内部通信,无法被外部网络访问
    • Web 资源指可通过网络访问的服务器数据

    五、访问出错怎么办

    一、404 错误的定义

    表示用户访问的资源不存在,通常原因是 URL 路径书写错误。

    2.常见错误实例
  • URL 路径拼写错误
    • 例如:将正确路径(如/sayhi)误写为/sayHi1,导致服务器无法匹配对应资源。
  • 代码注解(路由)错误
    • 例如:Controller 中@RequestMapping("/sayhi")的路径,与实际访问的 URL(如/sayHi)大小写 / 拼写不一致,造成路由映射失败。
  • 3.错误表现

    访问后会显示 “Whitelabel Error Page”,并标注type=Not Found, status=404。

    补充说明

    可通过 Fiddler 等工具抓包分析 HTTP 请求,进一步定位路径匹配问题。

    二、500 错误的定义

    表示服务器内部错误,通常是服务器代码执行过程中出现异常(如逻辑错误、运行时异常)导致的。

    1.错误实例与表现
  • 错误场景:代码中存在运行时异常(如示例中int res = 10/0;的 “除数为 0” 算术异常)。
  • 页面表现:访问后显示 “Whitelabel Error Page”,标注type=Internal Server Error, status=500。
  • 后端提示:程序控制台会输出异常调用栈,明确异常类型(如ArithmeticException: / by zero)、出错文件(如UserController.java)及行号(如第 11 行)。
  • 2.排查与解决

    通过后端控制台的异常信息,定位到具体代码行,修复对应的逻辑错误(如避免除数为 0)即可。

    三、无法访问此网站的定义
    1.问题定义与原因

    该问题表现为浏览器提示 “无法访问此网站”(如127.0.0.1拒绝了连接请求),核心原因是Tomcat 服务器未成功启动,常见触发场景包括:

  • Tomcat 本身启动失败;
  • 访问的 IP / 端口号填写错误。
  • 2.辅助排查工具

    通过 Fiddler 抓包可看到明确错误提示(如ConnectionRefused (0x274D)),进一步确认是目标计算机拒绝连接。

    3.解决思路
  • 检查 Tomcat 启动状态,重启服务器;
  • 核对访问 URL 中的 IP 和端口号是否与 Tomcat 配置一致。
  • 六、总结

    1.问题排查小结

  • 学习重点:学习 Spring 时,除了代码写法,更需掌握错误排查思路(经验丰富的开发者优势在于调试效率)。
  • HTTP 状态码与排查逻辑:
    • 4xx(如 404):路径不存在,需核对 URL、Context Path、Servlet Path 是否一致;
    • 5xx(如 500):服务器错误,需查看页面提示与 Tomcat 日志;
    • 连接失败:服务未启动,需检查服务日志。
  • 调试关键:日志是调试核心工具,需耐心阅读系统日志以定位问题。
  • 2.Spring Boot 总结

  • 核心定位:为快速开发 Spring 而生,核心设计思想是 “约定大于配置”。
  • 核心特性:
    • 启动时自动添加依赖,快速集成框架;
    • 内置 Web 服务器(如 Tomcat),无需额外配置即可运行;
    • 摒弃 XML 配置,采用注解 / 配置文件开发;
    • 支持监控指标,便于了解项目运行状态。
  • 项目启动:通过 IDEA / 网页创建项目,类上标注@SpringBootApplication即可启动。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 《SpringBoot 入门通关指南:从 HelloWorld 到问题排查全掌握》
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!