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

SpringBoot知识日常巩固(一)

  •  什么是SpringBoot?

        SpringBoot是一个简化应用程式开发的框架。它的主要目标是减少SpringBoot应用程序的配置和开发复杂性,使我们能够更快地构建、测试和部署Spring应用。简单来说它通过提供默认配置、自动化配置和嵌入式服务器等功能,简化了传统 Spring应用的繁琐配置过程。有人将一些依赖关系、默认配置都梳理好了,我们直接一个引用就搞定了,这就是它的本质。


  • Spring Boot 和 Spring MVC 有什么区别?

Spring MVC 是 Spring 框架中的一个模块,专注于构建基于 MVC(模型-视图-控制器)架构的 Web 应用程序。

        功能:提供了构建 Web 应用所需的所有基础设施,包括请求处理、视图解析、数据绑定、验证等。

        配置:需要手动配置,包括配置文件(XML 或 Java 配置)和注解。

        依赖管理:需要手动管理项目依赖。

        应用范围:只关注 Web 层,不包括数据访问、安全性、消息传递等其他方面的配置。

Spring Boot 是基于 Spring 框架的微框架,旨在简化 Spring 应用的创建、配置和部署。

        功能:提供了创建独立、生产级别的 Spring 应用所需的所有功能,包括自动配置、内嵌服务器、监控和管理等。

        配置:自动配置,通过类路径中的 jar 包依赖和项目配置文件来推断出需要的 Bean 和配置。

        依赖管理:提供了一个依赖管理系统,可以简化 Maven 和 Gradle 的依赖配置。

        应用范围:不仅包括 Web 层,还包括数据访问、安全性、消息传递等其他方面的配置。

区别:

  1. 范围:Spring MVC 只关注 Web 层,而 Spring Boot 提供了创建整个 Spring 应用所需的所有功能。

  2. 配置:Spring MVC 需要手动配置,而 Spring Boot 提供了自动配置。

  3. 依赖管理:Spring MVC 需要手动管理项目依赖,而 Spring Boot 提供了依赖管理系统。

  4. 应用类型:Spring MVC 通常用于构建 Web 应用,而 Spring Boot 可以用于构建任何类型的 Spring 应用,包括 Web 应用、微服务、RESTful Web 服务等。

        总的来说,Spring Boot 是一个更全面的框架,它包含了 Spring MVC 的功能,并且提供了更多的便利和自动化,使得创建和配置 Spring 应用变得更加简单和快速。


  • Spring Boot 的核心特性有哪些?

        Spring Boot 是一个流行的 Java 框架,用于简化 Spring 应用程序的创建和部署。以下是 Spring Boot 的一些核心特性:

  1. 自动配置(Auto-configuration)

            Spring Boot 根据添加的 jar 依赖自动配置 Spring 应用程序。例如,如果添加了 spring-boot-starter-web 依赖,Spring Boot 会自动配置 Tomcat 和 Spring MVC。
  2. 内嵌服务器(Embedded Server)

            Spring Boot 内置了 Tomcat、Jetty 或 Undertow,无需部署到外部服务器即可运行 Spring 应用程序。
  3. 依赖管理(Dependency Management)

            Spring Boot 提供了对 Maven 和 Gradle 的依赖管理支持,简化了依赖管理过程。
  4. 无代码生成和 XML 配置(No Code Generation and XML Configuration)

            Spring Boot 鼓励使用 Java 配置类和注解,而不是 XML 配置文件。
  5. 应用监控(Application Monitoring)

            Spring Boot 集成了 Spring Boot Actuator,提供了应用监控和管理的功能。
  6. 外部化配置(Externalized Configuration)

            支持从外部文件(如 application.propertiesapplication.yml)加载配置,便于环境之间的迁移。
  7. 生产就绪的特性(Production-ready features)

            提供了如指标、健康检查、外部化配置等生产环境的特性。
  8. 命令行工具(Command Line Tool)

    提供了一个命令行工具,可以快速生成 Spring Boot 项目的基础结构。
  9. 无状态和可重用(Stateless and Reusable)

            Spring Boot 应用程序是无状态的,可以轻松地在不同环境中重用。
  10. 微服务支持(Microservices Support)

            Spring Boot 非常适合构建微服务架构的应用,提供了构建分布式系统的基础设施支持。

        这些特性使得 Spring Boot 成为一个强大且灵活的框架,可以快速创建独立的、生产级别的 Spring 应用程序。


  • Spring Boot 是如何通过 main 方法启动 web 项目的?

Spring Boot 通过 main 方法启动 Web 项目的过程可以分解为以下几个关键步骤:

  1. 创建 Spring Boot 应用

    • 使用 Spring Initializr(         IDE 插件创建一个新的 Spring Boot 项目。

    • 添加 spring-boot-starter-web 依赖,它包含了构建 Web 应用所需的所有依赖,包括 Spring MVC 和内嵌的 Tomcat 服务器。

  2. 编写主应用程序类

    • 创建一个带有 @SpringBootApplication 注解的主应用程序类。这个注解是一个组合注解,包含了 @Configuration@EnableAutoConfiguration@ComponentScan,用于启动 Spring 应用上下文。

    • 在这个类中定义 main 方法,它是应用程序的入口点。

  3. 编写控制器

    • 创建一个或多个控制器类,使用 @RestController 注解标记这些类。

    • 在控制器类中定义处理 HTTP 请求的方法,使用 @RequestMapping 或其他请求映射注解来映射 URL 到方法。

  4. 运行应用程序

    1.  运行主应用程序类中的 main 方法。Spring Boot 会自动配置和启动内嵌的 Tomcat 服务器(或其他支持的服务器),并根据 @SpringBootApplication 注解启动 Spring 应用上下文。

  5. 访问 Web 应用

    • 一旦应用启动,你可以通过浏览器或工具(如 curl 或 Postman)访问 http://localhost:8080/(默认端口是8080),看到控制器中定义的响应。

下面是一个简单的示例代码:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
public class WebApplication {public static void main(String[] args) {SpringApplication.run(WebApplication.class, args);}
}@RestController
class HelloController {@GetMapping("/")public String home() {return "Hello, Spring Boot Web Application!";}
}

        在这个示例中,WebApplication 类是主应用程序类,它包含了 main 方法。HelloController 类是一个控制器,它定义了一个处理根 URL (/) 的 home 方法。当你运行 WebApplication 类的 main 方法时,Spring Boot 会自动启动内嵌的 Tomcat 服务器,并提供一个简单的 Web 应用,你可以通过访问 http://localhost:8080/ 来看到 "Hello, Spring Boot Web Application!" 的响应。

        Spring Boot 通过简化配置和自动配置,使得启动一个 Web 应用变得非常简单。你只需要添加必要的依赖,创建一个带有 @SpringBootApplication 注解的主应用程序类,定义控制器,然后运行 main 方法即可。Spring Boot 会处理剩下的工作,包括启动内嵌的 Web 服务器和应用上下文。

相关文章:

  • 德州仪器(TI)—TDA4VM芯片详解(1)—产品特性
  • Linux—— 版本控制器Git
  • 织梦dedecms调用会员详细字段信息
  • Vue3 + OpenLayers 开发教程 (六)WebGL渲染优化
  • 多级缓存入门:Caffeine、Lua、OpenResty、Canal
  • 机器学习算法-支持向量机SVM
  • 极客时光:第二部分——用QLoRA、RunPod和Cursor以超低成本微调DeepSeek-7B打造你的聊天机器人
  • 【EEGLAB】使用pop_loadset读取.set文件,报错找不到对应的.fdt文件。
  • CentOS7.9安装Python 3.10.11并包含OpenSSL1.1.1t
  • 单片机学习笔记9.数码管
  • Java大师成长计划之第5天:Java中的集合框架
  • Python语言基础知识详解:数据类型及运算
  • DJL FastText (FtModel) 使用指南
  • xe-upload上传文件插件
  • 堆和二叉树的概念和操作
  • 【算法笔记】贪心算法
  • node20的安装和vue的入门准备
  • Python语言基础知识详解:分支结构控制语句
  • babel和loader的关系
  • 【数据挖掘】时间序列预测-时间序列的平稳性
  • 吉林省公安厅出入境管理总队政委明志全已任省安保集团总经理
  • 高璞任中国一汽党委常委、副总经理
  • 持续更新丨伊朗内政部长:港口爆炸已致8人死亡750人受伤
  • “冲刺万亿城市”首季表现如何?温州领跑,大连GDP超徐州
  • 出国留学、来华留学呈现双增新趋势,“00后留学生个性鲜明”
  • 来论|这无非就是一只“纸老虎”:评特朗普政府“关税战”