SpringBoot开发——初步了解SpringBoot

发布时间:2026/8/28 17:29:22

SpringBoot开发——初步了解SpringBoot
文章目录* 一、SpringBoot简介* * 1、什么是Spring Boot * 2、Spring Boot的优点 * 3、Spring Boot功能* 二、Spring与Spring Boot对比* 三、Spring Boot与Spring MVC* 四、Spring Boot体系结构* 五、Springboot Initializr* * 1、Spring Initializr * 2、Spring Initializr模块一、SpringBoot简介--------------### 1、什么是Spring BootSpring Boot是一个构建在Spring框架顶部的项目。它提供了一种简便快捷的方式来设置配置和运行基于Web的简单应用程序。它是一个Spring模块提供了 RAD(快速应用程序开发)功能。它用于创建独立的基于Spring的应用程序因为它需要最少的Spring配置因此可以运行。简而言之Spring Boot是 Spring Framework 和 嵌入式服务器的组合。在Spring Boot不需要XML配置(部署描述符)。它使用约定优于配置软件设计范例这意味着可以减少开发人员的工作量。 我们可以使用Spring STS IDE 或Spring Initializr进行开发Spring Boot Java应用程序。与Spring Boot框架一起其他许多Spring姐妹项目也有助于构建满足现代业务需求的应用程序。 Spring姐妹项目如下:* Spring Data: 它简化了来自关系数据库和 NoSQL 数据库的数据访问。* Spring Batch: 它提供了强大的批处理处理。* Spring Security: 这是一个安全框架可为应用程序提供强大的安全性。* Spring Social: 它支持与LinkedIn等社交网络集成。* Spring Integration: 它是企业集成模式的实现。使用轻量级消息传递和声明性适配器它有助于与其他企业应用程序集成。### 2、Spring Boot的优点* 不需要web.xml* 不需要springmvc.xml* 不需要tomcatSpringBoot内嵌了tomcat* 不需要配置JSON解析支持REST架构* 个性化配置也非常简单* 它创建独立 Spring应用程序这些应用程序可以使用Java -jar 启动。### 3、Spring Boot功能* Web开发* SpringApplication* 应用程序事件和侦听器* 应用管理* 外部配置* 属性文件* YAML支持* 类型安全配置* 日志* 安全性Web开发这是用于Web应用程序开发的非常适合的Spring模块。我们可以轻松创建一个独立的HTTP应用程序该应用程序使用TomcatJetty或Undertow等嵌入式服务器。我们可以使用spring-boot-starter-web模块快速启动和运行应用程序。SpringApplicationSpringApplication是一个类提供了一种方便的方式来引导Spring应用程序。可以从main方法开始。我们可以仅通过调用静态run()方法来调用应用程序。 示例 public static void main(String[] args) { SpringApplication.run(ClassName.class, args); }应用程序事件和侦听器Spring Boot使用事件来处理各种任务。它允许我们创建用于添加侦听器的工厂文件。我们可以使用 ApplicationListener键来引用它。 总是在META-INF文件夹中创建工厂文件例如 META-INF/spring.factories 。应用管理Spring Boot提供了为应用程序启用与管理员相关的功能的功能。它用于远程访问和管理应用程序。我们可以使用spring.application.admin.enabled属性在Spring Boot应用程序中启用它。外部配置Spring Boot允许我们外部化我们的配置以便我们可以在不同环境中使用同一应用程序。该应用程序使用YAML文件来外部化配置。属性文件Spring Boot提供了一组丰富的 应用程序属性。因此我们可以在项目的属性文件中使用它。该属性文件用于设置诸如 server-port 8082 等属性。它有助于组织应用程序属性。YAML支持它提供了一种方便的方法来指定层次结构。它是JSON的超集。 SpringApplication类自动支持YAML。它是属性文件的代替方法。类型安全配置强大的类型安全配置用于管理和验证应用程序的配置。应用程序配置始终是至关重要的任务应该是类型安全的。我们还可以使用此库提供的注释。日志Spring Boot对所有内部记录都使用通用记录。默认情况下管理日志记录依赖项。如果不需要自定义我们不应更改日志记录依赖项。安全性Spring Boot应用程序是spring的Web应用程序。因此默认情况下通过所有HTTP端点上的基本身份验证它是安全的。可以使用一组丰富的端点来开发安全的Spring Boot应用程序。二、Spring与Spring Boot对比----------------------Spring Boot是用于创建微服务的基于Java的开源框架。它是由Pivotal Team开发的用于构建独立的和生产就绪的弹簧应用程序。Spring: Spring框架是最流行的Java应用程序开发框架。 Spring框架的主要功能是依赖注入或控制反转(IoC)。借助Spring Framework我们可以开发一个松耦合的应用程序。如果纯粹定义应用程序类型或特征最好使用。SpringBoot: Spring Boot是Spring Framework的模块。它允许我们构建具有最少配置或零配置的独立应用程序。如果我们要开发一个简单的基于Spring的应用程序或RESTful服务最好使用它。Spring和Spring Boot之间的主要比较讨论如下:SpringSpring BootSpring Framework是用于构建应用程序的广泛使用的Java EE框架。SpringBoot Framework被广泛用于开发REST API。它旨在简化Java EE开发从而使开发人员更加高效。它旨在缩短代码长度并提供开发 Web应用程序的最简单方法。Spring Framework的主要功能是依赖注入。Spring Boot的主要功能是自动配置。它会根据需求自动配置类。通过允许我们开发松耦合应用程序可以使事情变得更简单。它有助于创建配置更少的独立应用。开发人员编写了大量代码(模板代码)来完成最小的任务。它减少样板代码。要测试Spring项目我们需要显式设置服务器。SpringBoot提供了嵌入式服务器例如Jetty和Tomcat等。它不支持内存数据库。它提供了多个插件来处理嵌入式和内存中数据库例如H2。开发人员在pom.xml中为Spring项目手动定义依赖项。Spring Boot在pom.xml文件中带有starter概念该概念内部负责根据Spring Boot要求下载依赖项 JAR 。三、Spring Boot与Spring MVC------------------------Spring Boot: SpringBoot使得快速引导和开始开发基于Spring的过程变得容易。应用。它避免了很多样板代码。它隐藏了很多复杂的信息因此开发人员可以快速入门并轻松开发基于Spring的应用程序。Spring MVC: Spring MVC是用于以下方面的Web MVC框架: 构建Web应用程序。它包含许多用于各种功能的配置文件。这是一个面向HTTP的Web应用程序开发框架。Spring Boot和Spring MVC出于不同的目的而存在。下面讨论了Spring Boot和Spring MVC之间的主要比较:SpringBootSpringMVCSpringBoot是Spring的模块用于使用合理的默认值打包基于Spring的应用程序。SpringMVC是Spring框架下基于模型视图控制器的Web框架。它提供了用于构建Spring-powered框架的默认配置。它提供了易于使用功能来构建Web应用程序。无需手动构建配置。它需要手动进行构建配置。不需要部署描述符。必需。它避免了样板代码并将依赖项包装在一个单元中。它分别指定每个依赖项。它减少开发时间并提高生产率。要花费相同的时间要花费更多。四、Spring Boot体系结构-----------------SpringBoot是Spring框架的模块。它用于轻松创建独立的生产级基于Spring的应用程序。它是在核心Spring框架的顶部开发的。 SpringBoot遵循一个分层的体系结构其中每一层都与它的直接下层或上层(层次结构)进行通信。之前了解 SpringBoot Architecture 后我们必须了解其中的不同层和类。 SpringBoot中有四个层如下所示:* 展示层* 业务层* 持久层* 数据库层展示层: 表示层负责处理HTTP请求将JSON参数转换为对象并对请求进行身份验证并将其传输到业务层。简而言之它由视图即前端部分组成。业务层: 业务层处理所有业务逻辑。它由服务类组成并使用数据访问层提供的服务。它还执行授权和验证。持久层: 持久层包含所有存储逻辑并将业务对象与数据库行进行相互转换。数据库层: 在数据库层中CRUD(创建检索更新删除五、Springboot Initializr-----------------------### 1、Spring InitializrSpring Initializr 是Pivotal Web服务提供的 基于网络的工具。借助 Spring Initializr 我们可以轻松生成 Spring Boot Project 的结构。它提供了用于创建基于JVM的项目的可扩展API。它还为项目提供了以元数据模型表示的各种选项。元数据模型使我们能够配置JVM和平台版本等支持的依赖项列表。它以众所周知的方式提供元数据从而为第三方客户端提供必要的帮助。### 2、Spring Initializr模块Spring Initializr具有以下模块:* initializr-actuator: : 它提供有关项目生成的其他信息和统计信息。这是一个可选模块。* initializr-bom: : 在此模块中 BOM 代表物料清单。在Spring Boot中BOM是一种特殊的 POM 用于控制项目依赖项的版本。它提供了一个中心位置来定义和更新这些版本。它提供了灵活性可以在我们的模块中添加依赖项而无需担心版本。 在软件世界之外 BOM 是创建产品所需的零件项目组件和其他材料的列表。它说明了如何如何和在何处收集所需材料。* initializr-docs: : 它提供了文档。* initializr-generator: : 这是一个核心项目生成库。* initializr-generator-spring:* initializr-generator-test: : 它提供了用于项目生成的测试基础结构。* initializr-metadata: : 它为项目的各个方面提供了元数据基础结构。* initializr-service-example : 它提供自定义实例。* initializr-version-resolver: 是一个可选模块用于从任意POM中提取版本号。* initializr-web : 它为第三方客户端提供Web端点。

相关新闻

两次LLM调用反而更便宜更准?粗提取+精校验降本增效实战

两次LLM调用反而更便宜更准?粗提取+精校验降本增效实战

2026/8/28 17:29:22

你有没有遇到过这种情况:为了从一份长文档里抽取结构化字段,你把全文一次性丢给大模型,让它直接输出 JSON。结果模型要么漏字段,要么把原文里的数字改错,甚至格式根本不合法。回头一看账单,输入 token 高得…

结构化面试全套电子资料包|含苗小君视频+话术库+框架指南+3节理论课

结构化面试全套电子资料包|含苗小君视频+话术库+框架指南+3节理论课

2026/8/28 17:29:22

温馨提示:文末有联系方式 **🔥 全套结构化面试电子资料重磅上线** 本资料包专为公考、事业单位及国企面试考生深度定制,内容系统权威、分类清晰、即学即用,助你高效突破面试瓶颈。 **📚 理论夯实:3节精品…

张一鸣重仓Seed团队:字节跳动AI大模型战略的底层逻辑

张一鸣重仓Seed团队:字节跳动AI大模型战略的底层逻辑

2026/8/28 17:19:21

张一鸣把一半时间放在 Seed 团队这件事,看似是个人精力分配,本质上是在给字节跳动重新划定技术路线。创始人把时间投到哪里,哪里就是公司接下来十年的押注点。Seed 不是普通的业务部门,它承担的是大模型底座、AI 应用层和前沿算法…

3D激光雷达点云滤波:基于参数模型与RANSAC的工程实践

3D激光雷达点云滤波:基于参数模型与RANSAC的工程实践

2026/8/28 20:09:29

1. 项目概述:从“点云海洋”到“清晰世界”如果你刚接触3D激光雷达,打开原始数据的那一刻,可能会有点懵。屏幕上密密麻麻、数以万计的点,像一场暴风雪,又像一团浓雾,这就是所谓的“点云”。有用的目标&…

从模块到认知引擎:WSaiOS认知系统的工程化运行机制

从模块到认知引擎:WSaiOS认知系统的工程化运行机制

2026/8/28 20:09:29

从模块到认知引擎:WSaiOS认知系统的工程化运行机制作者:东塬一老翁技术:WSaiOS多模态智能技术研发工作室摘要: 本文系统阐述了WSaiOS认知架构中从功能模块到认知引擎(Cognitive Engine)的工程化跃迁过程。在…

蓝桥杯嵌入式竞赛实战:STM32G431 HAL库开发与模块化编程解析

蓝桥杯嵌入式竞赛实战:STM32G431 HAL库开发与模块化编程解析

2026/8/28 20:09:29

1. 项目概述:从竞赛到实战的嵌入式开发演练第十二届蓝桥杯嵌入式竞赛,对于很多电子、自动化、计算机相关专业的学生和嵌入式爱好者来说,是一个绕不开的实战练兵场。它不像一些纯理论的考试,而是要求你在规定时间内,基于…

手机端小模型评测:从云端榜单到真机可用的选型指南

手机端小模型评测:从云端榜单到真机可用的选型指南

2026/8/28 20:09:29

手机端小模型评测,正在成为一条和云端榜单截然不同的赛道。过去两年,我翻过大量模型评测报告,MMLU、GPQA、HumanEval、长上下文、多模态……这些指标对云端部署当然有参考价值,可一旦把模型放进手机,问题立刻就变了&am…

600W电源模块OVC III认证实战:爬电距离与绝缘设计要点

600W电源模块OVC III认证实战:爬电距离与绝缘设计要点

2026/8/28 20:09:29

我盯这块600W Power Module的OVC III认证已经小半年了,从最初的概念设计到通过认证拿到报告,中间踩过的坑比预想的多。很多做电源的同行可能觉得OVC III就是个认证标志,丝印上多个标识而已,但实际上这个认证对模块本身的绝缘结构、…

Agnostic PAC学习最优算法:Python模拟样本划分与模型选择

Agnostic PAC学习最优算法:Python模拟样本划分与模型选择

2026/8/28 19:59:29

这次我们不聊能跑的 WebUI,也不聊模型推理的显存占用,而是回到机器学习的底层问题:在 Agnostic PAC 学习框架下,算法要怎样设计才算“最优”?这类问题在论文里看起来很抽象,但如果用 Python 把它实现出来&a…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/28 7:34:42

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

基于Claude Code的开源AI求职框架:从职位搜索到Offer的全自动化闭环

基于Claude Code的开源AI求职框架:从职位搜索到Offer的全自动化闭环

2026/8/28 0:08:32

当AI助手能够独立完成从职位匹配、简历定制到面试准备的全链路求职流程时,求职不再是一场信息战,而是一场工程化战役。框架概述:本地运行的AI求职引擎这是一个构建在Claude Code之上的开源AI求职框架,核心理念是"在工作者的机…

Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复

Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复

2026/8/28 0:08:32

1. 问题现象 在 Godot 4 仿 agar.io 的 2D 项目中,相机缩放设计为「由球组整体尺寸决定」,世界可见高度恒定,窗口只作为视口裁剪。默认小窗口 1280x720 时相机高度正常;但窗口最大化到 2940x1912 后,视角被明显拉远、…

从软件测试大赛到实战:Java+Selenium自动化测试进阶指南

从软件测试大赛到实战:Java+Selenium自动化测试进阶指南

2026/8/28 0:08:32

1. 缘起:从校园到赛场,我的软件测试之路几年前,我还是一个在校园里对着Java课本和“Hello World”程序挠头的普通学生。软件测试对我来说,只是一个在开发流程末尾、用鼠标点点按钮的模糊概念。直到我偶然在学校的公告栏上看到了“…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…