Spring Boot 快速入手

前言:为什么选择 Spring Boot? 🚀

在现代 Java 开发中,Spring Boot 已成为最流行的后端框架之一。无论是小型 Web 应用、企业级系统,还是微服务架构,Spring Boot 都能提供快速开发、自动配置、轻量级部署的特性,让开发者无需关心繁琐的环境搭建和依赖管理。

🤔 为什么要学习 Spring Boot?

在 Spring 生态系统中,Spring Framework 提供了强大的开发能力,但其复杂的 XML 配置、依赖管理和 Bean 组件注册,让新手开发者望而却步。Spring Boot 诞生的目标,就是让 Spring 开发更简单、更高效

Spring Boot 具备以下核心优势:
零配置 —— 基于自动配置(Spring Boot Starter),无需手动配置繁琐的 XML 文件。
内置服务器 —— 自带 Tomcat、Jetty、Undertow,无需额外部署容器。
快速开发 —— 使用 Spring Initializr 快速生成项目,开箱即用。
微服务支持 —— 与 Spring Cloud 无缝集成,轻松构建分布式系统。
简化依赖管理 —— 通过 Maven / Gradle 直接引入 Spring Boot Starter 依赖,避免版本冲突。
强大的生态 —— 丰富的官方 Starter 组件(如 Spring Data JPA、Spring Security、Spring Mail),适配多种业务场景。

🎯 你将学到什么?

  • Spring Boot 基础(自动配置、RESTful API 开发)

  • 数据库整合(MySQL + JPA/MyBatis)

  • Spring Boot 进阶(AOP、定时任务、异步任务)

  • 安全与认证(Spring Security + JWT)

  • 项目实战(完整的用户管理系统)

Spring Boot 让 Java 开发更高效,现在就开启你的 Spring Boot 之旅吧! 🚀

 1. SpringBoot介绍

在学习SpringBoot之前,我们先来认识⼀下Spring

我们看下Spring官⽅

Spring | HomeLevel up your Java code and explore what Spring can do for you. https://spring.io/

可以看到,Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和⽣产⼒的关注使其成为 世界上最流⾏的Java框架。 

Spring官⽅提供了很多开源的项⽬,覆盖范围从Web开发到⼤数据,Spring发展到了今天,已经形成了⾃ ⼰的⽣态圈.我们在开发时,也倾向于使⽤Spring官⽅提供的技术,来解决对应的问题. 

这些项⽬都是基于SpringFramework来进⾏开发的,但是SpringFramework存在配置多,⼊⻔难的问 题,Spring也意识到了这个问题,为了简化开发者的使⽤,从⽽创造性的推出了SpringBoot.

📌 1. 什么是 Spring Boot?

Spring Boot 是基于 Spring 框架的快速开发框架,它提供了一种开箱即用(out-of-the-box)的方式,让开发者能够无需复杂配置,快速构建和部署 Java 应用。

Spring Boot 通过自动配置内置服务器简化依赖管理等特性,大大降低了 Spring 开发的复杂度,使开发者可以专注于业务逻辑,而不需要花费大量时间在环境搭建和配置上。


📌 2. Spring Boot vs Spring Framework vs Spring MVC(区别与联系)

对比项Spring FrameworkSpring MVCSpring Boot
核心作用提供完整的企业级 Java 解决方案基于 Spring 的 Web 框架让 Spring 开发更简单
配置方式需要大量 XML 配置需要手动配置 Controller 和 DispatcherServlet自动配置,开箱即用
依赖管理需要手动管理依赖依赖 Spring Framework通过 Starter 统一管理依赖
服务器需要手动配置 Tomcat 等依赖外部 Web 容器内置 Tomcat、Jetty,直接运行
适用场景复杂的企业级系统传统 Web 应用REST API、微服务、云原生

总结: Spring Boot 基于 Spring Framework 和 Spring MVC,它整合了 Spring 生态系统,并通过自动配置和内置依赖,极大地简化了 Spring 开发。


📌 3. Spring Boot 的核心优势

自动配置 —— 无需手动配置 Bean、数据源等,Spring Boot 会智能推断并配置默认值。

内置服务器 —— 自带 Tomcat、Jetty、Undertow,无需额外安装,直接运行 Spring Boot 应用。

简化依赖管理 —— 通过 Spring Boot Starter,统一管理 JPA、Security、Redis、Kafka 等常见依赖,避免版本冲突。

微服务友好 —— 与 Spring Cloud 无缝集成,轻松构建分布式架构。

强大生态支持 —— 兼容 Spring 全家桶,如 Spring Data JPA、Spring Security、Spring Cloud、Spring Batch 等。

开箱即用 & 快速开发 —— 通过 Spring Initializr 快速生成项目,极大提升开发效率。


💡 Spring Boot 让 Java 开发更高效、更简单,开启你的 Spring Boot 之旅吧!🚀

2 SpringBoot项⽬创建

2.1使⽤Idea创建 

因为我们⽤的Idea社区版(其他版本也同样适⽤),所以先要安装SpringBootHelper插件才能创建 SpringBoot项⽬. 

安装SpringBootHelp插件 使⽤专业版Idea的同学不需要安装插件,Idea已经集成了 

2.1.1. 查找插件并下载

 

点击Plugin homepage ,进⼊⽹⻚下载插件

 

此处不要直接点击 Install 直接点击Install,安装的是收费版(⼟豪请随意)

插件地址:Spring Boot Helper - IntelliJ IDEs Plugin | Marketplace

插件对Idea版本有要求, Idea版本需要在2021.1-2022.1.4范围内,不在这个范围内需要重新卸载安装 卸载要删除注册表的内容  

 2.1.2 安装插件 

按下图序号操作,逐步安装插件

选择刚才下载的插件,安装,重启Idea即可 

此时查看已安装插件 

安装好之后,它的名字就变成了SpringInitializrandAssistant,如下图所⽰∶  

2.1.3 创建SpringBoot项⽬:

File->New->Project

上图说明

① SpringBoot版本,选择任意3.X的,这个版本会随着SpringBoot的升级⽽发⽣变化,不固定 3.X版本使⽤的是jdk17,3.X以下使⽤的是JDK8 

②打勾表⽰创建项⽬之初,就引⼊的第三⽅依赖(框架,插件,组件等)

点击Create就完成SpringBoot的项⽬创建了。

注意事项 

第⼀次打开SpringBoot项⽬需要加载很久,因为当前SpringBoot框架并没有在⾃⼰的本地仓库. 为了加速SpringBoot项⽬的下载,在打开项⽬之前,请先确认⾃⼰的Maven已经配置为国内源

2.2 ⽹⻚版创建(了解)

不使⽤Idea也可以创建SpringBoot项⽬,我们可以使⽤Spring官⽅提供的⽹⻚版来创建Spring Boot项⽬。 ⽹⻚版创建项⽬先访问:https://start.spring.io/

Idea创建项⽬时,显⽰的界⾯,就是来⾃于这个⽹站,所以⽹络不好的情况下,这个界⾯也会打不开

点击⽣成按钮会下载⼀个SpringBoot的zip包,解压zip之后⽬录如下:

然后再使⽤Idea打开之后,SpringBoot项⽬就算创建成功了.

3.Spring创建完后java目录介绍

SpringBoot项⽬有两个主要的⽬录:

 

• src/main/java: Java源代码 

 

• src/main/resources:为静态资源或配置⽂件: 

 

       •/static:静态资源⽂件夹,⽐如前期学的js,css,html等静态⽂件,不需要服务器数据进⾏绑定的 ⻚⾯ 

 

      • /templates:模版资源⽂件夹,主要存放动态模板⽂件,⽐如JSP,Freemarker,Thymeleaf等需 要服务器动态渲染数据的⽂件

 

• src/test/java:测试代码源代码

 

• target:编译后的⽂件路径

 

• pom.xml:maven配置⽂件

4 运⾏项⽬

💡 说明: SpringApplication.run(...) 负责启动 Spring Boot 应用,并加载所有自动配置的组件。

Spring Boot 的核心特点之一是 自动配置,它可以根据项目中的依赖,智能推断并自动配置所需的 Spring 组件,避免手动配置繁琐的 XML 或 Java 代码。

📌 核心注解解析

  1. @SpringBootApplication(核心入口注解):相当于 @Configuration + @EnableAutoConfiguration + @ComponentScan 的组合。

  2. @EnableAutoConfiguration(开启自动配置):Spring Boot 根据项目依赖自动配置合适的 Bean。

  3. @ComponentScan(组件扫描):默认扫描 main 方法所在包及其子包的 @Component@Service@Controller 等组件。

5 开发第一个 Spring Boot Web 应用 🌐

在这一部分,我们将学习如何使用 Spring Boot 创建一个简单的 RESTful API,并实现 HTTP 请求处理、参数校验和异常处理。⽤Spring Boot来实现和浏览器及⽤⼾的交互。

在 Spring Boot 中,创建 RESTful API 非常简单,主要依赖两个注解:

  • @RestController:标记为 REST 控制器,返回 JSON 或 XML 数据(无需 @ResponseBody 注解)。

  • @GetMapping、@PostMapping、@PutMapping、@DeleteMapping`:用于处理 HTTP 请求,分别对应 GET、POST、PUT、DELETE 请求。

示例代码:

重新启动项⽬,访问127.0.0.1:8080/user最终效果如下:

 

6 Web服务器

浏览器和服务器两端进⾏数据交互,使⽤的就是HTTP协议

前⾯我们已经学习了HTTP协议,知道了HTTP协议就是HTTP客⼾端和HTTP服务器之间的交互数据 的格式. 

 

Web服务器就是对HTTP协议进⾏封装,程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议 规则),让Web开发更加便捷,所以Web服务器也被称为WWW服务器, HTTP服务器,

 

主要功能是提供⽹ 上信息浏览服务. 常⻅的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等 SpringBoot内置了Tomcat服务器,⽆需配置即可直接运⾏

 Tocmat默认端⼝号是8080,所以我们程序访问时的端⼝号也是8080

7 请求响应流程分析

浏览器输⼊URL之后,发起请求,就和服务器之间建⽴了连接

 浏览器:

• 输⼊⽹址:127.0.0.1:8080/user

    ◦ 通过IP地址127.0.0.1定位到⽹络上的⼀台计算机,127.0.0.1就是本机 

    ◦ 通过端⼝号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运⾏的8080端⼝的 程序 

    ◦ /user/sayhi是请求资源位置

▪ 资源:对计算机⽽⾔资源就是数据

        • web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据) 127.0.0.1:8080/user,就是向本地计算机中的8080端⼝程序,获取资源位置 是/user 的数据 8080端⼝程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:

• 接收到浏览器发送的信息(如:/user/sayhi) 

• 在服务器上找到/user/sayhi的资源 

• 把资源发送给浏览器

 

🌐 HTTP 错误状态码大全及解释 🚀

在 Web 开发中,服务器返回的 HTTP 状态码用于表示请求的处理结果。4xx(客户端错误)和 5xx(服务器错误) 是访问出错的主要状态码类别。


🔹 1. 客户端错误(4xx)

客户端请求错误,通常是由于请求格式错误、权限问题或资源不存在导致的。

状态码名称解释
400Bad Request请求参数错误,服务器无法解析请求
401Unauthorized未授权,缺少认证信息(例如未登录)
402Payment Required需要付费(通常未使用)
403Forbidden服务器拒绝请求(权限不足)
404Not Found请求的资源不存在(URL错误或资源被删除)
405Method Not Allowed请求的方法(GET、POST等)不被服务器允许
406Not Acceptable服务器无法返回符合 Accept 头部的内容
407Proxy Authentication Required需要通过代理服务器认证
408Request Timeout请求超时,服务器等待请求时长超出限制
409Conflict请求冲突,例如多个用户同时修改同一资源
410Gone资源被永久删除,不再可用
411Length Required服务器要求请求必须指定 Content-Length
412Precondition Failed服务器未满足请求头中的条件
413Payload Too Large请求体(POST 数据)过大,服务器拒绝处理
414URI Too Long请求的 URL 过长,无法解析
415Unsupported Media Type服务器不支持请求的媒体格式
416Range Not Satisfiable请求的范围超出了资源的可用范围
417Expectation Failed服务器无法满足 Expect 头部的要求
418I'm a teapot🫖 彩蛋:源自 HTTP 协议的愚人节玩笑
421Misdirected Request请求被发送到错误的服务器
422Unprocessable Entity服务器理解请求,但语义有问题,无法处理
423Locked资源被锁定,无法访问
424Failed Dependency由于前一个请求失败,当前请求无法处理
425Too Early服务器拒绝处理过早的请求
426Upgrade Required服务器要求客户端升级协议
428Precondition Required服务器要求请求必须满足特定条件
429Too Many Requests请求过多(触发速率限制,防止 DDoS)
431Request Header Fields Too Large请求头字段过大,服务器拒绝处理
451Unavailable For Legal Reasons资源因法律原因不可用(例如审查内容)

🔹 2. 服务器错误(5xx)

服务器端错误,通常是服务器无法处理请求或发生内部错误。

状态码名称解释
500Internal Server Error服务器内部错误,无法处理请求
501Not Implemented服务器不支持请求的方法
502Bad Gateway服务器作为网关或代理,收到无效响应
503Service Unavailable服务器暂时不可用(过载或维护)
504Gateway Timeout服务器作为网关,未及时收到响应
505HTTP Version Not Supported服务器不支持 HTTP 请求版本
506Variant Also Negotiates服务器内部错误,导致内容协商失败
507Insufficient Storage服务器存储空间不足,无法处理请求
508Loop Detected服务器检测到死循环,无法继续处理
510Not Extended服务器需要更多信息才能处理请求
511Network Authentication Required需要进行网络认证(如 Wi-Fi 认证页面)

🔹 3. 处理 HTTP 错误状态码

Spring Boot 中,可以通过 @ControllerAdvice 统一处理异常,并返回对应的 HTTP 状态码。

✅ 示例:全局异常处理

@ControllerAdvice
public class GlobalExceptionHandler {

    // 处理 404 - 资源未找到
    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<ErrorResponse> handleNotFound(ResourceNotFoundException ex) {
        ErrorResponse error = new ErrorResponse(404, "Resource Not Found", ex.getMessage());
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(error);
    }

    // 处理 403 - 权限不足
    @ExceptionHandler(AccessDeniedException.class)
    public ResponseEntity<ErrorResponse> handleAccessDenied(AccessDeniedException ex) {
        ErrorResponse error = new ErrorResponse(403, "Forbidden", "You do not have permission to access this resource.");
        return ResponseEntity.status(HttpStatus.FORBIDDEN).body(error);
    }

    // 处理 500 - 服务器内部错误
    @ExceptionHandler(Exception.class)
    public ResponseEntity<ErrorResponse> handleInternalServerError(Exception ex) {
        ErrorResponse error = new ErrorResponse(500, "Internal Server Error", "An unexpected error occurred.");
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(error);
    }
}

 

✅ 错误响应 JSON

当访问不存在的资源时(返回 404):

{
    "code": 404,
    "message": "Resource Not Found",
    "details": "User with ID 100 not found"
}

 


🔹 4. 常见 HTTP 错误及解决方案

错误状态码常见原因解决方案
400(请求错误)参数格式错误确保请求参数符合 API 规范
401(未授权)需要登录或 Token 无效添加身份验证信息
403(禁止访问)权限不足检查权限配置(Spring Security)
404(未找到)资源不存在确保 URL 正确或返回默认值
405(方法不允许)发送了不支持的请求方法确保正确使用 GET/POST/PUT/DELETE
500(服务器错误)代码异常检查服务器日志,修复 bug
502(网关错误)代理服务器未正确响应检查上游服务状态
503(服务不可用)服务器过载或维护中等待恢复或增加服务器资源
504(网关超时)请求超时优化服务器性能,增加超时时间

 


✅ 总结

  • 4xx(客户端错误):请求有误(400、401、403、404等)。

  • 5xx(服务器错误):服务器处理失败(500、502、503等)。

  • Spring Boot 可用 @ExceptionHandler 统一处理错误,返回友好的 JSON 响应。

  • 了解常见错误原因和解决方案,有助于优化 Web 应用!🚀

🔚 结语:开启高效开发之旅 🚀

Spring Boot 让 Java 开发变得更加简单、高效,从自动配置内置服务器,极大降低了项目搭建和维护的成本。不论是Web 开发、微服务架构,还是企业级应用,Spring Boot 都能提供强大支持。

掌握 Spring Boot,意味着你能够更快速地构建、部署、优化你的应用。现在,就开启你的 Spring Boot 之旅,让开发变得更加轻松吧!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle-blob导出,在ob导入失败

导出&#xff1a; [oraclelncs dmp]$ /home/oracle/sqluldr2 gistar/res#pwd192.168.205.58:1521/lndb query"select * from an_odn_picture where length(PIC_CONTENT)<25000" filean_odn_picture.csv Charsetutf8 textCSV 0 rows exported at 2025-…

RK3568 pinctrl内容讲解

文章目录 一、pinctrl的概念`pinctrl` 的作用设备树中的 `pinctrl` 节点典型的 `pinctrl` 节点结构例子`pinctrl` 的重要性总结二、RK3568的pinctrl讲解1. `pinctrl` 节点2. `gpio0` 至 `gpio4` 子节点每个 `gpioX` 子节点的结构和作用3. `gpio1` 到 `gpio4` 子节点总结1. `aco…

北京南文观点:后糖酒会营销,以战略传播重构品牌信心坐标

第112届全国糖酒会落下帷幕&#xff0c;参展品牌面临一个关键命题。如何在流量洪流中沉淀品牌价值&#xff1f;北京南文&#xff08;全称&#xff1a;南文乐园科技文化&#xff08;北京&#xff09;有限公司&#xff09;认为&#xff0c;糖酒会的结束恰是算法时代品牌认知战的真…

html5时钟升级!支持切换深浅模式 Canvas实现现代化动态时钟

HTML5 Canvas实现现代化动态时钟 这里写目录标题 HTML5 Canvas实现现代化动态时钟项目介绍技术实现1. 项目架构2. Canvas绘图实现2.1 表盘绘制2.2 刻度绘制2.3 指针绘制 3. 动画效果4. 主题切换 项目亮点技术要点总结项目收获改进方向结语 项目介绍 本项目使用HTML5 Canvas技术…

《SRv6 网络编程:开启IP网络新时代》第2章、第3章:SRv6基本原理和基础协议

背景 根据工作要求、本人掌握的知识情况&#xff0c;仅针对《SRv6 网络编程&#xff1a;开启IP网络新时代》书籍中涉及的部分知识点进行总结梳理&#xff0c;并与工作小组进行分享&#xff0c;不涉及对原作的逐字搬运。 问题 组内同事提出的问题&#xff1a;本文缺扩展头描述…

卫星电话究竟是“锦上添花”?还是“刚需之选”?

在万物互联的时代浪潮中&#xff0c;卫星电话究竟是可有可无的“锦上添花”&#xff0c;还是至关重要的“刚需之选”&#xff1f;随着通信技术的持续进步与应用场景的日益拓展&#xff0c;这一问题的答案正逐渐明晰。 在5G基站覆盖99%行政村的今天&#xff0c;人类依然要直面自…

C语言复习笔记--指针(1)

今天我们进入指针的复习了.这部分有很多知识,话不多说,让我们进入指针的世界吧. 内存和地址 要想学指针就不能不学内存和地址. 内存 其中&#xff0c;每个内存单元&#xff0c;相当于⼀个学⽣宿舍&#xff0c;⼀ 个字节空间⾥⾯能放8个⽐特位&#xff0c;就好⽐同学们 住的⼋⼈…

【蓝桥杯每日一题】4.1

&#x1f3dd;️专栏&#xff1a; 【蓝桥杯备篇】 &#x1f305;主页&#xff1a; f狐o狸x "今日秃头刷题&#xff0c;明日荣耀加冕&#xff01;" 今天我们来练习二分算法 不熟悉二分算法的朋友可以看&#xff1a;【C语言刷怪篇】二分法_编程解决算术问题-CSDN博客 …

【设计模式】过滤器模式

过滤器顾名思义&#xff0c;定义一些过滤规则&#xff0c;将符合要求的内容筛选&#xff0c;就比如过滤不同大小或者不同颜色的水果&#xff0c;需要颜色和大小过滤器&#xff0c;筛选条件独立为对象&#xff0c;可以通过灵活组合形成过滤链条。避免大量使用判断语句。 案例代…

STM32 CAN学习(一)

CAN总线应用最多的是汽车领域。 CAN&#xff08;Controller Area Network&#xff09;控制器 局域 网 局域网&#xff1a;把几台电脑连接到一台路由器上&#xff0c;这几台电脑就可以进行通讯了。 控制器在汽车中的专业术语叫做ECU&#xff08;Electronic Control Unit&…

多线程开发中List的使用

由于ArrayList在多线程高并发情况下是不安全的&#xff0c;因此要慎用&#xff0c;那么此时如果涉及到集合操作&#xff0c;应该怎么选&#xff1a; 方案一&#xff1a;Vector: 特点&#xff1a;通过给所有方法都用 synchronized 修饰从而保证线程安全&#xff0c; 缺点&…

论文阅读笔记:Denoising Diffusion Implicit Models (2)

0、快速访问 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08;1&#xff09; 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08;2&#xff09; 论文阅读笔记&#xff1a;Denoising Diffusion Implicit Models &#xff08…

人工智能在医疗领域的前沿应用与挑战

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活&#xff0c;其中医疗领域无疑是受益最为显著的行业之一。从疾病诊断、治疗方案制定到患者护理&#xff0c;AI的应用不仅提高了医疗服务的效率和质量&#xff0c;还为医…

【计算机网络】HTTP与HTTPS

文章目录 1. HTTP定义2. HTTP交互3. HTTP报文格式3.1 抓包工具-fiddler3.2 抓包操作3.3 报文格式3.3.1 请求报文3.3.2 响应报文 4. URL5. 请求头中的方法6. GET和POST的区别7. HTTP报头7.1 Host7.2 Content_Length7.3 Content_Type7.4 User-Agent(UA)7.5 Referer7.6 Cookie 8 状…

怎样提升大语言模型(LLM)回答准确率

怎样提升大语言模型(LLM)回答准确率 目录 怎样提升大语言模型(LLM)回答准确率激励与规范类知识关联类情感与语境类逆向思维类:为什么不,反面案例群体智慧类明确指令类示例引导类思维引导类约束限制类反馈交互类:对话激励与规范类 给予奖励暗示:在提示词中暗示模型如果回…

【分享】内外网文件摆渡系统:让数据传输更安全更可靠

【分享】Ftrans内外网文件摆渡系统&#xff1a;让数据传输更安全更可靠&#xff01; 随着大数据时代的到来&#xff0c;数据的重要性日渐得到重视&#xff0c;数据作为数字经济时代下的基础性资源和战略性资源&#xff0c;是决定国家经济发展水平和竞争力的核心驱动力。以行业…

Python自动化面试通关秘籍

Python自动化测试工程师面试&#xff0c;不仅仅是考察你的代码能力&#xff0c;更看重你如何在项目中灵活运用工具和框架解决实际问题。如果你正准备面试&#xff0c;这篇文章将为你总结最常见的高频考题及答题技巧&#xff0c;帮助你快速上手&#xff0c;通关面试&#xff0c;…

Logstash开启定时任务增量同步mysql数据到es的时区问题

本文使用修改时间modify_date作为增量同步检测字段&#xff0c;可检测新增和修改&#xff0c;检测不到删除&#xff0c;检测删除请使用canal查询binlog日志同步数据 检测修改时间字段为varchar的时候可以先创建索引&#xff0c;并设置对应的mapping为&#xff08;可以无视时区…

如何使用 FastAPI 构建 MCP 服务器

哎呀&#xff0c;各位算法界的小伙伴们&#xff01;今天咱们要聊聊一个超酷的话题——MCP 协议&#xff01;你可能已经听说了&#xff0c;Anthropic 推出了这个新玩意儿&#xff0c;目的是让 AI 代理和你的应用程序之间的对话变得更顺畅、更清晰。不过别担心&#xff0c;为你的…

【Git】-- 处理 Git 提交到错误分支的问题

如果你不小心把本应提交到 test 分支的代码提交到了 master 分支&#xff08;但尚未 push&#xff09;&#xff0c;可以按照以下步骤解决&#xff1a; 方法一&#xff08;推荐&#xff09;&#xff1a;使用 git reset 和 git stash 首先&#xff0c;确保你在 master 分支&…