当前位置: 首页 > news >正文

44、Spring Boot 详细讲义(一)

Spring Boot 详细讲义

目录

  1. Spring Boot 简介
  2. Spring Boot 快速入门
  3. Spring Boot 核心功能
  4. Spring Boot 技术栈与集成
  5. Spring Boot 高级主题
  6. Spring Boot 项目实战
  7. Spring Boot 最佳实践
  8. 总结

一、Spring Boot 简介

1. Spring Boot 概念和核心特点

1.1、什么是 Spring Boot?

Spring Boot 是一个基于 Spring Framework 的延申项目,旨在通过简化配置和设置,帮助开发人员更快地构建、配置和部署基于 Spring 的应用程序。它通过自动配置和内嵌服务器的特性,大大减少了传统 Spring 应用的配置复杂度。

1.2、 Spring Boot 的主要特点

  • 简化配置
    Spring Boot 通过内嵌的配置文件(如 application.propertiesapplication.yml)和自动配置特性,减少了传统 Spring 项目中大量的 XML 或注解配置。
  • 自动配置
    Spring Boot 根据项目依赖自动配置 Bean 和环境。例如,添加了 spring-boot-starter-web 依赖后,Spring Boot 会自动配置嵌入式 Tomcat 服务器和 Web 应用的基础设施。
  • 内嵌服务器
    Spring Boot 内置了像 Tomcat、Jetty 和 Undertow 等常见的 Web 服务器,无需额外安装服务器即可运行 Web 应用。
  • 无需代码生成
    Spring Boot 不需要任何代码生成过程,开发者只需编写业务逻辑代码即可。
  • 生产环境友好
    Spring Boot 提供了强大的生产环境支持,包括监控、健康检查、外部化配置等功能,方便应用在生产环境中部署和管理。

2. Spring Boot 的优势

2.1、 与传统 Spring 的对比

特性传统 SpringSpring Boot
配置复杂度高,需要大量 XML 或注解配置低,简化配置,自动配置为主
启动速度较慢,需要手动配置服务器快速,内嵌服务器
依赖管理需要手动管理依赖版本通过 Starter 依赖自动管理
生产环境支持需要额外配置监控和日志内置监控和日志功能
开发效率较低,需要更多的配置和搭建工作更高,快速开发和部署

2.2、 适用场景

  • 快速开发
    适合快速搭建和验证想法的开发场景。
  • 微服务
    Spring Boot 是构建微服务的首选工具,结合 Spring Cloud 可以轻松实现微服务架构。
  • API 展现
    适合快速构建 RESTful API 服务。
  • 嵌入式应用
    适合需要内嵌 Web 服务器的桌面或移动应用。

3. Spring Boot 的版本和生态

3.1、Spring Boot 与 Spring Framework 的关系

Spring Boot 是 Spring Framework 的一个扩展,两者共享相同的核心功能,但 Spring Boot 提供了更简化的配置和更高效的开发体验。

  • Spring Framework:专注于核心框架功能,如 IOC、AOP 等。
  • Spring Boot:在 Spring Framework 基础上增加了自动配置、内嵌服务器等特性,简化了应用的开发和部署。

3.2 常见的组件和工具集

  • Spring Data
    提供对数据库的简化操作,支持 JPA、MongoDB、Redis 等。
  • Spring Security
    提供安全认证和授权功能,支持 OAuth2、JWT 等。
  • Spring Cloud
    提供微服务相关的组件,如服务注册、断路器、API 网关等。
  • Spring Actuator
    提供生产环境监控和管理功能。
  • Spring Initializr
    Spring Boot 项目模板生成工具,支持 Maven 和 Gradle 项目。

3.3、 Spring Boot 的版本说明

在这里插入图片描述

二、Spring Boot 快速入门

1、 Spring Boot 环境搭建

1.1 Java 8 或更高版本的安装与配置

  • 安装 Java
    Spring Boot 2.x 版本要求 Java 8 或更高版本。访问 Oracle Java 官方网站,下载并安装适合的版本。
  • 配置环境变量
    安装完成后,配置 JAVA_HOMEPATH 环境变量,确保系统可以识别 Java。
    • 验证安装:在命令行输入 java -version,查看 Java 版本。

1.2 Maven 的安装与配置

1.什么是maven

Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具.

通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。

2.Maven安装

【检查】确认已经安装jdk,已经环境变量中配置JAVA_HOME,已经修改Path

【下载】从http://maven.apache.org/download.cgi下载所需要的版本。

【解压】解压maven到某一指定目录,例如:D:\apache-maven-3.5.2,目录下会有bin、conf、lib等文件夹。

3.配置环境变量

1.右键我的电脑(或者计算机)-属性-高级系统设置-高级-环境变量-系统变量-新建MAVEN_HOME,添加maven的安装目录
在这里插入图片描述

2.把%MAVEN_HOME%\bin;追加到Path变量的值后面
在这里插入图片描述

3.检验是否成功

cmd中输入 mvn -v,会显示版本信息

4 配置仓库

maven安装好以后,我们需要配置仓库用来加载项目需要的依赖包

maven存储jar包的仓库有3种 :本地仓库,远程仓库(私服),中央仓库, 检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库 .

我们需要配置本地仓库和私服。

1.配置本地仓库

maven安装目录/conf文件夹下找到settings.xml,修改本地仓库路径(之前有仓库的设置为之前仓库的路径,没有的会自动创建文件夹,以后从私服下载下来的jar包会保存到本地仓库中)
在这里插入图片描述

2.配置远程仓库

一般都使用国内镜像或者公司自己搭建私服, 目的是加快下载速度
在settings.xml文件中添加远程仓库的路径

<mirror>  <id>nexus-aliyun</id>  <mirrorOf>central</mirrorOf>    <name>Nexus aliyun</name>  <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
</mirror>

在这里插入图片描述

1.3 IDE 安装与配置

  • Eclipse
    下载并安装 Eclipse。安装完成后,需要额外安装 Spring Tools 插件以支持 Spring Boot 开发。

  • IntelliJ IDEA
    推荐使用 IntelliJ IDEA,它对 Spring Boot 有更好的支持。

    • 下载社区版(免费)或ultimate版。
    • 安装完成后,确保 Maven 或 Gradle 插件已启用。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.4 Idea环境配置

1.idea中配置jdk

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点Add New SDK,然后选择jdk的安装目录即可添加JDK。

2.idea中配置maven

idea中打开“File”–>“settings”,搜索“maven”,如图,配置maven目录,settings文件目录,本地仓库目录

在这里插入图片描述

3.idea中设置编码和代码风格

file->settings中搜索File Encoding,可以设置编码

在这里插入图片描述

还可以设置代码风格

如图所示,可以选择不同的代码风格,默认是Dark(黑底白字),也可以选择其它风格,白底黑字等

在这里插入图片描述


2、 第一个 Spring Boot 应用

2.1 使用云脚手架创建第一个项目

通过云原生脚手架创建

云原生脚手架地址:https://start.aliyun.com

1、打开云原生脚手架,在线创建springboot项目。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将下载的项目解压后在idea中打开(注意解压后多两层bootdemo目录,打开里层的)

file->open->选择项目所在的位置

在这里插入图片描述

项目结构如下:

  1. src/main/java/:存放Java源代码文件
    • com.example.bootdemo:Java包名,根据实际情况可以自定义
      • BootdemoApplication.java:Spring Boot应用程序的入口类,包含main方法。
  2. src/main/resources/:存放资源文件(脚手架没有生成,后续我们可以自己手动创建)
    • static/:存放静态资源文件,如CSS、JavaScript等
    • templates/:存放模板文件,如Thymeleaf模板文件
    • application.propertiesapplication.yml:Spring Boot应用的配置文件,包括数据库连接、端口等配置信息
  3. src/test/java/:存放测试代码
  4. pom.xml:Maven项目的配置文件,管理项目的依赖和构建等信息

默认pom中添加了springboot,test包,我们可以在pom文件中添加项目需要的其它依赖包,比如mybatis,mysql驱动,springweb等(需要的时候再加)

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

2.2创建一个简单的 HelloWorld 控制器

在com.example.bootdemo包下创建HelloWorldController.java文件

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloWorldController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!";}
} 

2.3 运行和测试

通过 Maven命令运行

项目打包

在这里插入图片描述

项目运行:

在这里插入图片描述

访问测试
在浏览器中输入 http://localhost:8080/hello,查看是否返回 “Hello, Spring Boot!”。

在这里插入图片描述


http://www.mrgr.cn/news/97902.html

相关文章:

  • wsl2+ubuntu22.04安装blender教程(详细教程)
  • 解决 vite.config.ts 引入scss 预处理报错
  • Adaptive AUTOSAR 状态管理和转换——ActionItemList
  • 【C++游戏引擎开发】第13篇:光照模型与Phong基础实现
  • 1200 模拟量输入输出功能
  • python调用本地部署的大模型(llama3.2)
  • Vue3 + TypeScript 的 Hooks 实用示例
  • XTG900P可编程网关在焦化厂数据采集的应用
  • 编译freecad
  • xHCI 上 USB 读写分析
  • openharmony—release—4.1开源鸿蒙源码编译踩坑记录
  • Backtrader从0到1——第一个回测策略
  • ubuntu20.04在mid360部署direct_lidar_odometry(DLO)
  • 如何通过前端表格控件实现自动化报表?1
  • Cursor Agent 模式实现复杂工作流的编排与执行
  • 百度地图小区边界爬取
  • 创建型模式究竟解决了什么问题
  • Vue Router(2)
  • 机器学习 | 强化学习方法分类汇总 | 概念向
  • 【教学类-102-07】剪纸图案全套代码07——Python点状虚线优化版本+制作1图2图6图