Spring和SpringBoot(概述与功能)

news2024/11/24 14:47:10

目录

一、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.coloradmin.cn/o/1833281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见的Redis使用问题及解决方案

目录 1. 缓存穿透 1.1 解决方案 2. 缓存击穿 2.1 解决方案 3. 缓存雪崩 3.1 概念图及问题描述 ​编辑3.2 解决方案 4. 分布式锁 4.1 概念 4.2 基于redis来实现分布式锁 4.3 用idea来操作一遍redis分布式锁 4.4 分布式上锁的情况下,锁释放了服务器b中的锁…

教育培训系统(FastAdmin+ThinkPHP+Unipp)

引领学习新风尚 📚 引言:教育新篇章 随着科技的不断发展,教育形式也在不断创新与变革。教育培训系统作为这一变革的重要载体,正逐渐改变着我们的学习方式。今天,就让我们一起探索教育培训系统的魅力,看看它…

[ARM-2D 专题]3. ##运算符

C语言的宏系统相当强大,它允许使用##符号来处理预处理期的文本替换。这种用法被称为标记连接(token pasting)操作,其结果是将两个标记紧紧地连接在一起,而省略掉它们之间的所有空格。在复杂的宏定义中,运用…

部分CVE复现Web(1)

Apache HTTP Server 路径穿越漏洞CVE-2021-41773 ​ 首先,先来看一下这个漏洞的官方描述: ​ CVE-2021-41773 是在 Apache HTTP Server 2.4.49 中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将 URL 映射到预期文档根目录之外的…

三星(中国)投资公司线上入职测评笔试邀请数字推理语言逻辑真题题库

三星(中国)有限公司北京分公司 邀请您参加 SHL线上笔试 具体安排如下: 笔试时间:周三 9:00 笔试时长:1.5h ~ 2h 笔试内容及要求:数字推理限时30min;语言逻辑限时30min;性格测试不…

国内外典型的知识图谱项目

文章目录 早期的知识库项目互联网时代的知识图谱中文开放知识图谱垂直领域知识图谱 从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面分别介绍早期的知识库项目、互联网时代的知识图谱、中文开放知识图谱和…

什么是Vue开发技术

概述 Vue.js 是一个用于构建用户界面的渐进式框架,它设计得非常灵活,可以轻松地被集成到任何项目中。 vue是视图的发音,其目的是帮助开发者易于上手,提供强大的功能构建复杂的应用程序 示例 以下是vue基本的语法概述 声明式渲…

激活和禁用Hierarchy面板上的物体

1、准备工作: (1) 在HIerarchy上添加待隐藏/显示的物体,名字自取。如:endImage (2) 在Inspector面板,该物体的名称前取消勾选(隐藏) (3) 在HIerarchy上添加按钮,名字自取。如:tip…

“深入探讨Redis主从复制:原理、配置与优化“

目录 # 概念 1. 配置主从同步步骤 1.1 创建文件夹 1.2 复制配置文件 1.3 配置文件关闭 1.4 查看端口号,发现端口号存在 1.5 连接三个端口号 1.6 查看主机运行情况 1.7 让服务器变成(主机)或(从机) 1.8 实现效…

HarmonyOS之自选股App

支持在 鸿蒙、安卓、苹果设备上运行。 1.界面效果展示 2.数据存储 数据存储采用的是官方的 ohos.data.relationalStore.relationalStore stock_code表用来存储A股市场5000多家公司的股票代码和名称等信息 const TAB_STOCK_CODE "stock_code" const CREATE_TABL…

关于IOMMU问题的扩展

关联CSDN: Steam Deck OLED WLAN下载速率过低问题的排查和解决-CSDN博客 前言 如前所述,Steam Deck OLED WLAN速率低问题和IOMMU有一定的关系,这里我们对IOMMU为什么会对速率有影响进行一个较深入的理解。 对于IOMMU我相信大家通过网上的…

java面试(企业场景)

设计模式 工厂方法模式 简单工厂模式 简单工厂包括以下角色: 抽象产品:定义了产品的规范,描述了产品的主要特性和功能具体产品:实现或者继承抽象产品的子类具体工厂:提供了创建产品的机会,调用者通过该…

自动采集软件||自动采集主流电商商品详情SKU数据价格功能实现||电商API接口的应用

实现自动化淘宝商品数据采集的方法有多种,一种常见的方式是利用网络 Python 技术。您可以编写一个网络 Python程序,通过模拟浏览器发送请求,获取淘宝商品页面的数据,并对数据进行解析和提取,最终存储到数据库或文件中。…

力扣172. 阶乘后的零

Problem: 172. 阶乘后的零 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.要使得末尾出现0,则乘式中必须出现因子2与5; 2.而由于对于一个数的阶乘,易知因子2的个数是大于因子5的个数(因为只要出现偶数则可以分解出…

1V升3V升压LED驱动WT7013

1V升3V升压LED驱动WT7013 WT7013是一款专业的高亮度LED驱动芯片,其具备提供1A驱动电流以支持3W的LED设备运行的能力。此款芯片以其高效率和低功耗的特性,使其在适用于使用1到2个碱性电池或者锂电池供电的LED照明设备中表现卓越。 WT7013 还配备有开路保…

DOS INT 21H中断 2号功能暗改AL

注意此时AX0200,DX0057 执行INT 21H之后: 可以看到执行完“??? [BXSI]”之后,AL就变为了57H,和DL相同。 部分INT 21H功能表: 所以究竟是什么原因呢? -------------------------------------------…

Shopee虾皮API:获取商家店铺商品列表

一、平台介绍 Shopee,作为东南亚及中国台湾地区领先的电商平台,为卖家提供了一个便捷、高效的销售渠道。作为卖家,能够将自己的商品展示在Shopee平台上,并通过平台的流量和工具,将商品销售给更多的潜在买家。 为了帮…

s2b2c这个模式如今发展得怎么样了?

在工业时代,每一个客户和消费者都是一个独立的个体,是被动地接受广告和被推送产品的,但在互联网时代,由于信息技术的基础设施和广泛沟通的社交互动,客户已经因为各种各样的社交场景事先聚集到一起。在个性化即大众化的…

基于WPF技术的换热站智能监控系统16--动态数据绑定

1、实现思路 1)实时读取到的数据绑定到前台UI控件上,这个通过MVVM模式实现,同时注意实时读取必须通过任务task异步方式,这就需要读取PLC数据。 2)UI控件的动作,如开或关水泵,必定能够将值写入…