从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~~~

相关推荐
陈文锦丫7 小时前
MQ的学习
java·开发语言
乌暮7 小时前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛117 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven978 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖8 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主8 小时前
Thread及其相关类
java·开发语言
Coder_Boy_8 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_768350238 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
派大鑫wink8 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法