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

相关推荐
sino爱学习12 小时前
高性能线程池实践:Dubbo EagerThreadPool 设计与应用
java·后端
风生u13 小时前
activiti7 详解
java
岁岁种桃花儿13 小时前
SpringCloud从入门到上天:Nacos做微服务注册中心(二)
java·spring cloud·微服务
Word码13 小时前
[C++语法] 继承 (用法详解)
java·jvm·c++
TT哇13 小时前
【实习 】银行经理端两个核心功能的开发与修复(银行经理绑定逻辑修复和线下领取扫码功能开发)
java·vue.js
逝水如流年轻往返染尘13 小时前
Java中的数组
java
java1234_小锋13 小时前
Java高频面试题:BIO、NIO、AIO有什么区别?
java·面试·nio
用户83071968408213 小时前
Java IO三大模型(BIO/NIO/AIO)超详细总结
java
sheji341613 小时前
【开题答辩全过程】以 基于SSM的花店销售管理系统为例,包含答辩的问题和答案
java
Mr_sun.14 小时前
Day09——入退管理-入住-2
android·java·开发语言