从Spring到SpringBoot3的演进:缺陷、优化与最新实践要求

目录

[1. Spring框架的缺点](#1. Spring框架的缺点)

[2. 什么是SpringBoot](#2. 什么是SpringBoot)

[2.1. 自动配置](#2.1. 自动配置)

[2.2. 起步依赖](#2.2. 起步依赖)

[3. SpringBoot3介绍](#3. SpringBoot3介绍)

[4. 总结](#4. 总结)


前言:

从本文开始,我们就开始SpringBoot的学习

在这里大家帮助大家更好的理解和掌握SpringBoot3的学习

如果你想快速复习和回忆,可以直接跳到结尾的思维导图~~~

个人主页:艺杯羹

1. Spring框架的缺点

Spring是一个非常优秀的轻量级框架,以IOC(控制反转) 和**AOP(面向切面)**为思想内核,极大简化了JAVA企业级项目的开发

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。

除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spring5.0以上只能使用Junit4.12以上的版本

XML 复制代码
<!-- Spring传统依赖配置示例(需手动匹配版本) -->
<dependencies>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.20</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.3.20</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.20</version>
    </dependency>
    
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

总结起来,Spring的缺点就是:

  1. 配置过于繁琐
  2. 引入的依赖过多,版本控制复杂

2. 什么是SpringBoot

两大核心功能:自动配置 ➕ 起步依赖

SpringBoot对Spring进行优化,是基于"约定大于配置"的思想

约定为什么大于配置?

因为我们在使用Spring的时候,有些操作,是我们程序员公认的,那么这个就是约定,由这个约定就可以预先装好这个配置,所以在SpringBoot里面有些是固定的
一句话:通过预定义一套业界公认的 "约定",来减少甚至消除重复的、样板式的配置,从而简化开发流程,提高效率

所以,SpringBoot只是对简化了Spring

SpringBoot是一个服务于框架的框架

它不是对Spring功能的增强,而是提供了一种快速使用Spring框架的方式 ,只是简化了而已

SpringBoot的优点:

  1. 配置简单
  2. 依赖引入简单
  3. 提供了一些大型项目的非功能特性,如嵌入式服务器,安全指标,健康监测等

2.1. 自动配置

SpringBoot项目自动提供最优配置,同时可以修改默认值满足特定的要求

2.2. 起步依赖

SpringBoot的依赖是基于功能的,而不是普通项目的依赖是基于JAR包的

SpringBoot将完成一个功能所需要的所有坐标打包到一起,并完成了版本适配,我们在使用某功能时只需要引入一个依赖即可

这里就体现的是我们程序员公认

3. SpringBoot3介绍

SpringBoot包含了12个月以来151个开发者的5700多次代码提交。这是自 2018年SpringBoot发布2.0以来,SpringBoot的第一次重大修订

当然使用SpringBoot是需要一定版本要求的:

工具 版本要求
IDEA 2021.2.1+
Java 17+
Maven 3.5+
Tomcat 10.0+
Servlet 5.0+
GraalVM(原生镜像功能) Community 22.3+
Native Build Tools(原生镜像功能) 0.9.19+

这里就要注意,要达到对应版本的要求

4. 总结

到此,就先告一段落,下篇文章,深入了解一下SpringBoot~~~

相关推荐
左左右右左右摇晃29 分钟前
Java并发——synchronized锁
java·开发语言
sxlishaobin1 小时前
Java I/O 模型详解:BIO、NIO、AIO
java·开发语言·nio
彭于晏Yan1 小时前
Spring AI(二):入门使用
java·spring boot·spring·ai
有一个好名字2 小时前
vibe codeing 开发流程
java
兑生2 小时前
【灵神题单·贪心】3745. 三元素表达式的最大值 | 排序贪心 | Java
java·开发语言
polaris06302 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
卓怡学长2 小时前
m280本科生导师指导平台
java·数据库·spring·tomcat·maven·intellij-idea
一直都在5722 小时前
Java死锁
java·开发语言
我真会写代码3 小时前
深度解析并发编程锁升级:从偏向锁到重量级锁,底层原理+面试考点全拆解
java·并发编程·
Meepo_haha3 小时前
创建Spring Initializr项目
java·后端·spring