spring、springmvc、springboot、springcloud简介

spring简介

spring是什么?

  • spring: 春天
  • spring: 轻量级的控制反转和面向切面编程的框架

历史

  • 2002年,首次推出spring雏形,interface 21框架
  • 2004年,发布1.0版本
  • Rod Johnson: 创始人,悉尼大学,音乐学博士
  • 作者:4.3.9

设计理念

  • 保持强大的向后兼容性
  • 解决企业应用开发的复杂性,现有技术更加容易使用
  • 本身是一个大杂烩,整合现有技术框架

历史框架

  • SSH: Struct2 + spring + hibernate
  • SSM: SpringMvc + srping + Mybatise

优点

  • 开源,免费,框架(容器)
  • 轻量级: maven包很小
  • 非入侵式: 在工程中引入spring不会影响原有功能
  • 核心技术: 控制反转IOC
  • 核心技术: 面向切面编程AOP
  • 支持事务处理
  • 对框架整合的支持

缺点

  • 发展太久,违背原有理念
  • 配置十分繁琐
  • 人称:配置地狱

7大模块
spring-modules

Spring Boot

  • 快速开发的脚手架
  • 搭建单个微服务
  • 约定大于配置

Spring Cloud

  • 基于Spring Boot实现

spring学习路线

  • spring
  • spring mvc
  • spring boot
  • spring cloud

spring、SpringMVC、SpringBoot、SpringCloud 之间的关系

Spring

  • 轻量级的java开发框架,采用容器化管理,创建 Bean 实例,维护bean与bean之间的关系。
  • 两大核心利器: IOC(控制反转) + AOP(面向切面)

Spring MVC

  • 原因:网站通常有前台页面和后台处理逻辑
  • 历史: 衍生出类似 struts2 框架,解决前台页面与后端数据处理之间的映射关系。
  • Spring 的 web 框架,SpringMVC = Struts2 + Spring
  • 核心:通过 Dispatcher Servlet、ModelAndView 和 View Resolver,开发web应用

Spring Boot

  • 痛点:Spring 配置复杂,xml文件有大量的bean定义,开发起来繁琐。
  • 更加丰富的注解

Spring Cloud

  • 将一个单体项目拆分成多个微服务
  • Spring Cloud 将多个 Spring Boot 单体微服务整合、管理

image-20221213131352920

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

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

相关文章

Nexus私服简介及搭建(Linux3.62版本)

文章目录 一、Nexus的安装1、运行程序2、查看运行日志和初始密码3、启动配置文件的修改 二、Nexus的使用1、Nexus使用流程说明2、库类型说明2.1、maven-public库配置说明2.2、maven-central库配置说明 3、用户本地配置使用maven-public库3.1、禁用了匿名访问,额外需…

test mock-03-wiremock 模拟 HTTP 服务的开源工具 flexible and open source API mocking

拓展阅读 test 之 jmockit-01-overview jmockit-01-test 之 jmockit 入门使用案例 mockito-01-overview mockito 简介及入门使用 PowerMock Mock Server ChaosBlade-01-测试混沌工程平台整体介绍 jvm-sandbox 入门简介 wiremock WireMock是一个流行的开源工具&#xf…

DFA 算法实现敏感词过滤

背景 项目中APP端发帖,评论可能包含多个关键词,铭感词。此时需要对该内容进行过滤处理。此前都是在客户端层面操作,这样不仅带来了性能的损耗,而且新增铭感词时,需要客户端重新打包上架,显得十分不合理。所…

R306指纹识别模块指令系统

一:指令集 1. GR_GetImage 指令代码:01H 功能:从传感器上读入图像存于图像缓冲区 2. GR_GenChar 指令代码:02H 功能:根据原始图像生成指纹特征存于 CharBuffer1 或 CharBuffer2 3. GR_Match 指令代码&#xff…

SpringCloud(H版alibaba)框架开发教程,使用eureka,zookeeper,consul,nacos做注册中心——附源码(1)

源码地址:https://gitee.com/jackXUYY/springboot-example 创建订单服务,支付服务,公共api服务(共用的实体),eureka服务 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.…

kubeadm来搭建k8s集群。

我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群搭建 主机配置建议:2c 4G 主机节点 IP …

Spring@Scheduled定时任务与SQLSERVER distinct order by的错误吞噬

目录 Scheduled 提供的调度机制 遇到错误不会抛出 数据库SQL差异 Scheduled 提供的调度机制 cronzonefixedDelayfixedDelayStringfixedRatefixedRateStringinitialDelayinitialDelayString 上面具体怎么用自己代码定位到API上去看注释说明。 遇到错误不会抛出 在SqlSe…

【力扣题解】P700-二叉搜索树中的搜索-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P700-二叉搜索树中的搜索-Java题解🌏题目描述💡题解&#x1f…

智慧园区物联综合管理平台之架构简述

总体架构 系统总体划分为物联感知系统层、 核心平台层、 综合运营服务平台和展示层四部分。 物联感知系统层 物联感知系统主要是支撑园区智能化运行的各子系统, 包括门禁系统、 视频监控系统、 车辆管理系统等。 核心平台层 核心平台层包括: 园区物联综合管理平台和园区…

x-cmd pkg | gum - 很好看的终端 UI 命令行工具

目录 简介首次用户功能特点Bubbles 与 Lip Gloss进一步探索 简介 gum 由 Charm 组织于 2022 年使用 Go 语言开发。旨在帮助用户编写 Shell 脚本与 dotfiles 时提供一系列快捷使用,可配置,可交互,美观的 Terminal UI 组件。 首次用户 使用 x…

[Angular] 笔记 25:指令

组件指令 (chatgpt 回答) 在 Angular 中,组件本身可以被视为指令,这种指令被称为组件指令。组件是 Angular 应用的构建块之一,它封装了一段具有特定功能和特性的用户界面,并且可以在应用中重复使用。 组件指令具有以下特征&…

Final Cut 视频剪辑快速入门,小白上手视频课的制作

本文是一个快速入门教程,如果您是0视频处理基础,又想录制网课或是一些对效果要求不高的视频那么这篇教程足够使用了。 本文主要用Final Cut处理视频课,本文是笔者在制作视频课过程中逐渐摸索的,如果您想制作一些比较专业的视频&a…

Docker九 | Swarm mode

目录 Swarm基本概念 节点 服务和任务 创建Swarm集群 创建管理节点 增加工作节点 查看集群 部署服务 新建服务 查看服务 服务伸缩 增加服务 减少服务 删除服务 Swarm基本概念 节点 节点分为管理节点(manager)和工作节点(worker) 管理节点 管理节点用于Swarm集群的…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前数据吞吐量(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK里函数来获取相机当前数据吞吐量(C#) Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在NEOAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过NEOAPISDK获…

Django 学习教程-介绍与安装

系列 Django 学习教程-第一个 Django 应用-CSDN博客 介绍 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。 它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于在编写应用程序时无需重新发…

自定义事件

自定义事件 自定义事件 AAA"fn1":向子组件的事件池中注入AAA事件,方法是父组件的fn1 发布订阅:子组件某个操作把父组件中的某个方法执行了 参数可以传多个 $listeners* $listeners:事件池中的方法 { aaa:fn1, bbb:fn2 }…

RestClient操作索引库_创建索引库(二)

ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句, 通过http请求发送给ES。 官方文档地址: https://www.elastic.co/quide/en/elasticsearch/client/index.html 目录 一、初始化JavaRestClient 1.1.依赖引入 1.2.初始化…

Mybatis枚举类型处理和类型处理器

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

MySQL之复合查询

目录 单表查询回顾 多表查询 自连接 子查询 在from子句中使用子查询 合并查询 单表查询回顾 在讲解多表查询前,我们先回顾一下单表查询,这是因为多表查询本质上依然是单表查询(其原因在下文中讲解多表查询时再说明)&#x…

【vue】Easy Player实现视频播放:

文章目录 一、效果:二、文档:三、实现:【1】安装插件:【2】引入js文件:【3】使用: 四、方法: 一、效果: 二、文档: GitCode - EasyPlayer.js npm-easydarwin/easyplayer…