Spring学习 Spring概述

1.1.Spring介绍

​ Spring是轻量级Java EE应用开源框架(官网: http://spring.io/ ),它由Rod Johnson创为了解决企业级编程开发的复杂性而创建

1.2.简化应用开发体现在哪些方面?

  1. IOC

    解决传统Web开发中硬编码所造成的程序耦合

  2. AOP

    实现在运行期间不修改源代码对程序进行增强

  3. 粘合剂

    Spring是一个超级粘合平台,除了自己提供功能外,还提供整合其他技术和框架的能力

1.3.Spring的体系结构

Spring 框架根据功能的不同大体可分为 Data Access/Integration(数据访问与集成)WebAOP、Aspects、Instrumentation(检测)、Messaging(消息处理)Core Container(核心容器)Test

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0c6fc39cb71b4550a1e851ff20d3dbe8.png

  • Core Container: 框架的最基础部分,提供控制反转和依赖注入特性
  • AOP :提供了面向切面的编程的实现
  • Data Access/Integration:简化了持久层的操作
  • Web:提供了Spring MVC Web 框架实现以及与Servlet、WebSocket的集成
  • Test:方便程序的测试

1.4.Spring的发展历程

  • 1997年IBM提出了EJB的思想

  • 1998年,SUN制定开发标准规范EJB1.0

  • 1999年,EJB1.1发布

  • 2001年,EJB2.0发布

  • 2003年,EJB2.1发布

    Rod Johnson(spring之父)

    Expert One-to-One J2EE Design and Development(2002)

    ​ 阐述了J2EE使用EJB开发设计的优点及解决方案

    Expert One-to-One J2EE Development without EJB(2004)

    ​ 阐述了J2EE开发不使用EJB的解决方式(Spring雏形)

  • 2006年,EJB3.0发布

  • 2017年9月发布了Spring的最新版本Spring5.0通用版x

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

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

相关文章

python中collections.abc.Mapping 和collections.Mapping的区别

文章目录 在 Python 中,collections.abc.Mapping 和 collections.Mapping 都是用于表示映射类型(即键值对的集合,例如字典)的抽象基类。它们的区别在于它们的来源和使用方式。 collections.abc.Mapping 是 collections.abc 模块中…

1月5日代码随想录完全二叉树的节点个数

222.完全二叉树的节点个数 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在…

使用ModelScope运行或者微调模型ModelScope国内一个“模型即服务”(MaaS)平台

TOC 一、ModelScope社区 ModelScope是一个“模型即服务”(MaaS)平台,由阿里推出维护,旨在汇集来自AI社区的最先进的机器学习模型,并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的API设计执行推理、训练和评估&a…

即时设计:轻松实现设计稿动画,打造独具魅力的GIF作品

制作动画 随着动画设计越来越受欢迎,设计师们需要一款强大的工具,以便轻松控制设计稿元素的属性,实现动画效果。今天,我们向您推荐一款具备帧动画功能的设计工具,它可以让您轻松调整元素的宽高、相对位置等属性&#x…

Spring AI 指南

近年来,人工智能技术的迅猛发展改变了我们对科技的看法,并在各个领域引发了巨大的变革。每个人都希望在自己的项目上能够使用人工智能。Spring 框架提供了一个名为 “Spring AI” 的项目,Spring AI 项目旨在简化包含人工智能功能的应用程序的…

Python 基础面试第四弹

1. Python中常用的库有哪些,作用分别是什么 requests: requests 是一个用于发送 HTTP 请求的库,它提供了简单而优雅的 API,可以轻松地发送 GET、POST、PUT、DELETE 等请求,并处理响应数据。它支持会话管理、身份验证、文件上传等常…

Matlab绘制动态心形线

1. 代码 for alpha0:0.1:30 x-1.8:0.001:1.8; y(x.^2).^(1/3)0.9*(3.3-x.^2).^(1/2).*sin(alpha*pi*x); plot(x,y,r-,LineWidth,1.2); set(gca,YGrid,on); axis([-3,3,-2,4]); text(-2,3.35,$f(x)x^{\frac{2}{3}}0.9(3.3-x^2)^{\frac{1}{2}}sin(\alpha\pi x)$,Interpreter,lat…

Geotrust DV通配符证书保护域名数量

Geotrust是一家知名的SSL证书提供商,旗下有多种类型的SSL数字证书,保护网站数据在传输过程中的安全性和完整性,帮助用户确认其网站的安全。通配符SSL证书是Geotrust颁发的一种可以同时保护多个域名站点的SSL证书。今天就随SSL盾小编了解Geotr…

Toshiba 数字隔离器助力工业应用实现稳定的高速隔离数据传输

隔离器件是将输入信号进行转换并输出,以实现输入、输出两端电气隔离的一种安规器件。电气隔离能够保证强电电路和弱电电路之间信号传输的安全性,如果没有进行电气隔离,一旦发生故障,强电电路的电流将直接流到弱电电路,…

啊哈c语言——逻辑挑战8:验证哥德巴赫猜想

上面这封书信是普鲁士数学家哥德巴赫在1742年6月7日写给瑞士数学家欧拉的,哥德巴赫在书信中提出了“任一大于2的整数都可以写成3个质数之和”的猜想。当时,哥德巴赫遵照的是“1也是素数”的约定。现今,数学界已经不使用这个约定了。哥德巴赫原…

Spring Boot 整合 Knife4j(快速上手)

关于 Knife4j 官方文档:https://doc.xiaominfo.com/ Knife4j是一个基于Swagger的API文档生成工具,它提供了一种方便的方式来为Spring Boot项目生成在线API文档。Knife4j的特点包括: 自动化生成:通过Swagger注解,Kn…

yq操作yaml插入列表数据支持传参

yq是基于golang语言开发的一款json、yaml以及xml命令行工具,支持多个平台,github官网:GitHub - mikefarah/yq: yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor 文档地址:Shell Completion …

凸优化 3:最优化方法

凸优化 3:最优化方法 最优化方法适用场景对比费马引理一阶优化算法梯度下降最速下降 二阶优化算法牛顿法Hessian矩阵Hessian矩阵的逆Hessian矩阵和梯度的区别牛顿法和梯度下降法的区别 拟牛顿法DFP、BFGS/L-BFGS 数值优化算法坐标下降法SMO算法 基于导数的函数优化解…

应用程序支持的系统版本

在使用 Android Studio 创建 Android 项目时,Minimum SDK 选项表示应用程序所需的最低 Android API 级别。这个选项让您指定应用程序可以运行的最小 Android 版本。 在构建应用程序时,您可能需要使用一些最新的 Android API 来实现某些功能。但是&#x…

FCN学习-----第一课

语义分割中的全卷积网络 CVPR IEEE国际计算机视觉与模式识别会议 PAMI IEEE模式分析与机器智能汇刊 需要会的知识点: 神经网络:前向传播和反向传播 卷积神经网络:CNN,卷积,池化,上采样 分类网络&#xff1a…

杨中科 ASP.NETCore Rest

什么是Rest RPC 1、Web API两种风格: 面向过程(RPC) 、面向REST (REST) 2、RPC:“控制器/操作方法“的形式把服务器端的代码当成方法去调用。把HTTP当成传输数据的通道,不关心HTTP谓词。通过QueryString请求报文体给服务器传递数据。状态码。比如/Persons/GetAll…

紧跟国际潮流,勇探未知领域

紧跟国际潮流,勇探未知领域 文章目录 紧跟国际潮流,勇探未知领域一、计算产业新面貌二、紧跟AI新潮流1、我国人工智能产业发展表现出明显的集群化趋势2、人工智能产业集群是基于网络空间发展的创新集群三、企业簇群及其产业创新生态四、创新的“极化”和…

解析拼团购-----商业升级拉锯战,如何突破重重突围?

每天五分钟讲解一个商业模式,大家好我是模式策划啊浩。 作为新时代商业营销的宠儿“拼团购”如何能成为商业升级的关键因素呢?随着互联网技术的不断进步,拼团购作为一种新兴的消费形式,正逐渐成为商业领域的新宠。在激烈的商业竞…

【LeetCode】608. 树节点

表:Tree ------------------- | Column Name | Type | ------------------- | id | int | | p_id | int | ------------------- id 是该表中具有唯一值的列。 该表的每行包含树中节点的 id 及其父节点的 id 信息。 给定的结构总是一个有效的树。…

linux cat命令增加文件名功能后修复可能出现的bug

增加显示文件名功能后,需要将输出缓冲区的大小增加FILENAME_MAX1,FILENAME_MAX为当前系统文件名最长时占用的字节数,1为冒号占用的1字节,否则在特殊情况下,会导致输出缓冲区不够用,程序崩溃报段错误。 仅仅…