Spring和SpringBoot(概述与功能)

目录

一、SpringBoot 概念

(1)基本介绍

(2)部分注解

(3)其它介绍

​编辑

二、 Spring 缺点

(1)配置繁琐

(2)依赖繁琐

三、SpringBoot 功能(为了解决 Spring 缺点从而快速开发)

(1)自动配置

(2)起步依赖

(3)辅助功能

四、小结


一、SpringBoot 概念

(1)基本介绍

  1、SpringBoot 提供了一种快速使用 Spring 的方式。(Spring Boot 就是快速构建 Spring

  2、基于约定优于配置的思想(将很多 Spring 需要配的东西已经配好了),可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。

2014年4月,SpringBoot 1.0.0 发布。它是 Spring 的顶级项目之一

(官网:https://spring.io)。

(2)部分注解

这里面的顶级项目是指:因为Spring 并不是一门技术,而是一个整体的技术。(就是其中有很多个项目组成)

也可以去它的官网查看一下: (发现Spring 体系下的很多的顶级项目)

(3)其它介绍

解释:

1、现在用来开发Java技术,就可以用 Spring 技术来解决所有的业务功能。

Spring 提供了一系列的技术来支撑 JavaEE、Java企业级应用开发等等)

2、Spring Boot (" Build Anything ")表示用来构建项目的。对于现在的企业级应用来说,如果应用比较大的时候,一般要做成 " 微服务 " 的。也就意味着会把业务功能拆分的很细化。构建很多的项目,项目之间就用 Spring Boot 来构建。

3、而这些各种项目之间的数据交换和通信,就要用到 Spring Cloud 来配置。

4、Spring Cloud Data Flow 是进行一些数据的连接。

二、 Spring 缺点

(1)配置繁琐

    1、虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。

    2、所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但它要求的回报也不少。

(2)依赖繁琐

    1、项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。(版本不兼容问题,项目启动报错

三、SpringBoot 功能(为了解决 Spring 缺点从而快速开发)

(1)自动配置

    1、SpringBoot 的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定 Spring 配置应该用哪个,不该用哪个。该过程是 SpringBoot 自动完成的。

   (也就是 Spring Boot 在项目启动的时候,把之前 Spring 项目所需要的配置都自动的完成了,不需要再去写那个配置文件了,至少是需要写的东西很少了)

(2)起步依赖

    1、起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。

    2、简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

   (也就是之前在引入很多的坐标,使用 Sping 开发的时候引坐标引很多个时,而 Spring Boot 就不需要了,它把很多个坐标打包了,如用到了依赖传递)


(3)辅助功能

提供了一些大型项目中常见的非功能性特性。

如嵌入式服务器、安全、指标,健康检测、外部配置等。

四、小结

1、Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式

2、Spring 的缺点:

  • 配置繁琐
  • 依赖繁琐

3、SpringBoot 功能:

  • 自动配置(简化配置繁琐
  • 起步依赖:依赖传递(简化依赖繁琐
  • 辅助功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/351877.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ARM】MDK出现报错error: A\L3903U的解决方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决MDK出现报错error: A\L3903U这样类型的报错 2、 问题场景 电脑或者软件因为意外情况导致崩溃,无法正常关闭,强制电脑重启之后,打开工程去编译出现下面的报错信息(…

盘点有趣的人工智能开源项目一

字幕导出 zh_recogn是一个专注于中文语音识别的字幕生成工具,基于魔塔社区Paraformer模型。它不仅支持音频文件,还能处理视频文件,输出标准的SRT字幕格式。这个项目提供了API接口和简单的用户界面,使得用户可以根据自己的需求灵活…

探索C嘎嘎的奇妙世界:第三关---缺省参数与函数重载

在c语言中,我们常常在对有参函数进行传参,这样的繁琐过程,C祖师爷对此进行了相关改进,多说无益,上干货: 1 缺省参数: 缺省参数是指在声明或定义函数时为函数的形参指定一个默认值(默认参数)。在调用该函数时,如果没有指定实参,则…

Qt实现单例模式:Q_GLOBAL_STATIC和Q_GLOBAL_STATIC_WITH_ARGS

目录 1.引言 2.了解Q_GLOBAL_STATIC 3.了解Q_GLOBAL_STATIC_WITH_ARGS 4.实现原理 4.1.对象的创建 4.2.QGlobalStatic 4.3.宏定义实现 4.4.注意事项 5.总结 1.引言 设计模式之单例模式-CSDN博客 所谓的全局静态对象,大多是在单例类中所见,在之前…

高端品牌网站建设

随着互联网的快速发展,越来越多的企业开始意识到高端品牌网站建设对于企业发展的重要性。高端品牌网站建设不仅是企业形象展示的窗口,更是与消费者进行有效沟通和互动的桥梁。下面从设计、内容和用户体验三个方面,探讨高端品牌网站建设的重要…

计算机毕业设计Django+Vue.js考研推荐系统 考研分数线预测 中公考研爬虫 混合神经网络推荐算法 考研可视化 机器学习 深度学习 大数据毕业设计

Python数据分析与可视化期末项目报告 项目名称: 考研推荐系统数据分析与可视化 学 号: 姓 名: …

hadoop/hive/DBeaver启动流程

hadoop 启动 cd到指定目录下 cd /opt/module/hadoop-3.3.0/sbin/启动文件 ./start-all.shjps一下,查看显示的内容 应该显示以下内容 NameNode SecondaryNameNode DataNode ResourceManager NodeManager如果缺少namenode,那么执行 rm -rf /tmp/hadoo…

MicroPython+ESP32 C3开发上云

传感器PinI/O状态D412输出1开0关D513输出1开0关 概述 MicroPython是python3编程语言的精简实现,能够在资源非常有限的硬件上运行,如MCU微控制器Micropython的网络功能和计算功能很强大,有非常多的库可以使用,它为嵌入式开发带来了…

react传参有哪些常用方法?--Props,Context API和Redux全局管理

在 React 中,父子组件之间的传参主要通过以下几种方式实现: 1) Props 传递:父子传参 2)Context API: 跨多层组件传递数据 3) Redux: 全局状…

计算机网络 —— 运输层(运输层概述)

计算机网络 —— 运输层(运输层概述) 运输层运输层端口号复用分用复用(Multiplexing)分用(Demultiplexing) 常用端口号页面响应流程 我们今天进入到运输层的学习: 运输层 我们之前学习的物理层…

pytorch基础

文章目录 一、环境准备1.1安装Anaconda1.2创建虚拟环境1.3准备CUDA1.4安装pytorch1.3安装Pycharm 二、全连接神经网络原理2.1整体结构2.2神经单元2.3激活函数2.3.1非线性性2.3.2Sigmoid函数2.3.3Tanh函数2.3.4ReLU函数2.3.5Leaky ReLU函数 2.4前向传播2.5损失函数与反向传播2.5…

5G智能运维趋势

随着5G技术的普及,网络运维面临着前所未有的复杂性和数据量挑战。智能运维通过人工智能、大数据分析、自动化工具等技术,为5G网络提供了高效的管理和优化手段。在网络性能优化、故障预测与管理、资源动态调度、安全管理和网络切片管理等方面,…

Python 全栈系列250 数据流实践

说明 之前好几个企业都提过飞机在飞的时候换发动机的例子,来比喻变革是多么无奈和危险。还有的说法更直接:不变等死,变就是找死,总得选一样。 后来我自己的体会也差不多是这样,总有一些窘境让你抉择:是忽忽…

[Shell编程学习路线]——if条件语句(单,双,多分支结构)详细语法介绍

🏡作者主页:点击! 🛠️Shell编程专栏:点击! ⏰️创作时间:2024年6月17日7点50分 🀄️文章质量:95分 文章目录 ————前言———— 💯趣站&#x1f4af…

Python 显示笔记本电脑的电池状态和百分比

方法一: import psutil import psutil battery psutil.sensors_battery() if battery is None:print("No battery is found.")exit() print (battery) percentagebattery.percent print(f"Battery Percentage: {percentage}%")Battery的信息…

【K8s】专题五(3):Kubernetes 配置之 ConfigMap 与 Secret 异同

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号! 目录 一、相同点 二、不同点 一、相同点 功能作用:ConfigMap 与 Secret 都用于存储…

数据结构错题答案汇总

王道学习 第一章 绪论 1.1 3.A 数据的逻辑结构是从面向实际问题的角度出发的,只采用抽象表达方式,独立于存储结构,数据的存储方式有多种不同的选择;而数据的存储结构是逻辑结构在计算机上的映射,它不能独立于逻辑结构而存在。数…

【JavaEE精炼宝库】多线程(5)单例模式 | 指令重排序 | 阻塞队列

目录 一、单例模式: 1.1 饿汉模式: 1.2 懒汉模式: 1.2.1 线程安全的懒汉模式: 1.2.2 线程安全的懒汉模式的优化: 二、指令重排序 三、阻塞队列 3.1 阻塞队列的概念: 3.2 生产者消费者模型&#xf…

GPU的工作原理

location: Beijing 1. why is GPU CPU的存储单元和计算单元的互通过慢直接促进了GPU的发展 先介绍一个概念:FLOPS(Floating Point Operations Per Second,浮点运算每秒)是一个衡量其执行浮点运算的能力,可以作为计算…

板凳----Linux/Unix 系统编程手册 25章 进程的终止

25.1 进程的终止:_exit()和exit() 440 1. _exit(int status), status 定义了终止状态,父进程可调用 wait 获取。仅低8位可用,调用 _exit() 总是成功的。 2.程序一般不会调用 _exit(), 而是调用库函数 exit()。exit() …