Spring概述—Spring简介,Spring体系 (精)


Spring是什么?

百度:Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

1)Spring为什么是一站式的?

一站式实际上是在夸Spring很全面,因为它对各种主流技术和框架都进行了整合,外面很多技术都可以跟spring完美整合进行工作。

2)Spring为什么是轻量级框架?

轻量级和重量级的划分主要依据以看它使用了多少服务,启动时需要加载的资源以及耦合度等因素

首先,轻量级是比较出来的,如和EJB比较。
Spring容器本身提供了很多服务,但是这些服务并不是默认打开的,我们可以根据需求去指明需要某些服务,我们只需要打开使用的一些服务即可。从大小上来说,Spring的核心包容量大小不到1MB,使用Spring核心包的资源负担也小。
EJB来源于官方,设计目标与核心应用是部署分布式应用程序。目前EJB容器就默认为应用提供了EJB规范中所有的功能,它属于重量级框架。但是软件发展到目前为止,大多数应用不需要采用分布式的解决方案,因此用EJB显得太臃肿了。
举个例子:你家闯入一匹狼,警察要来帮你清理。EJB就相当于坦克,Spring就相当于步枪,你说你用哪个。


为什么学习Spring?

1)方便解耦,简化开发

Spring就是一个容器,可以将所有对象创建和关系维护交给Spring管理
什么是耦合度?对象之间的关系,通常说当一个模块(对象)更改时也需要更改其他模块(对象),这就是耦合,耦合度过高会使代码的维护成本增加。要尽量解耦

2)AOP编程的支持

Spring提供面向切面编程,方便实现程序进行权限拦截,运行监控等功能。

3)声明式事务的支持

通过配置完成事务的管理,无需手动编程

4)方便测试,降低JavaEE API的使用

Spring对Junit4支持,可以使用注解测试

5)方便集成各种优秀框架

不排除各种优秀的开源框架,内部提供了对各种优秀框架的直接支持

就知道有些同学看不懂,不要急,后面会一一解释

Spring体系

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式如下图:

Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入。下面大致介绍各大模块的内容:

1)Core Container核心容器

 包含了Spring框架基本的核心工具类,Core模块是其他组件的基本核心。

core部分包含4个模块:
1、spring-core:依赖注入IoC与DI的最基本实现
2、spring-beans:Bean工厂与bean的装配
3、spring-context:spring的context上下文即IoC容器
4、spring-expression:spring表达式语言

2)数据访问/集成

数据访问/集成层包括 JDBC,ORM,OXM,JMS 和事务处理模块(简)

3)Web

Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成 (简)

4)AOP

AOP:提供了面向切面编程的实现,让你可以定义方法拦截器和切点,从而将逻辑代码分开,降低代码间的耦合性。
Aspects:提供了对AspectJ的集成支持,这是一个功能强大且成熟的面向方面编程(AOP)框架。
WebSocket:提供了一个在Web应用中高效、双向的通信工具。
Instrumentation:提供了在特定的应用服务器中使用类工具的支持和类加载器实现。

5)Test

支持使用JUnit和TestNG对Spring组件进行测试。

Spring体系简写了一部分,有需要的朋友可以取查阅其他笔记

本文以Spring初学开篇为主,下一章:配置Spring开发环境https://blog.csdn.net/qq_34598667/article/details/83184940

Spring概述(精)相关推荐

  1. 信安精品课:第1章网络信息安全概述精讲笔记

    第1章网络信息安全概述精讲笔记 https://www.moondream.cn/?p=2095 一.本章知识框架 二.本章大纲要求 1.网络信息安全概述 1.1 网络信息安全基本属性 ● 机密性 ● ...

  2. java day57【 Spring 概述 、 IoC 的概念和作用、使用 spring 的 IOC 解决程序耦合 】...

    第1章 Spring 概述 1.1 spring 概述[了解] 1.1.1 spring 是什么 1.1.2 Spring 的发展历程 1.1.3 spring 的优势 1.1.4 spring 的体 ...

  3. Spring系列 1.Spring概述及IOP

    Spring概述 简介 Spring : 春天 ->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24日,Sp ...

  4. Spring概述及IOC(控制反转) Part I

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Spring概述 1.Spring的模块划分图: 2.Spring主要由(IOC+AOP)构成: ioc的创建方式 ...

  5. Spring学习:一、Spring概述、Spring入门

    1 Spring概述 1.1 什么是Spring Rod Johnson(http://baike.baidu.com/item/Rod Johnson)在2002年编著的<Expert one ...

  6. Spring|Spring概述

    Spring|Spring概述 Spring 介绍 Spring 概念 Spring 思想:IoC 和 DI BeanFactory 接口 & ApplicationContext 接口 Sp ...

  7. 【Spring】(1)Spring概述:什么是Spring框架?为什么要用Spring框架?

    两个月前跟着b站动力节点王鹤老师的Spring框架教程视频学习完了Spring框架,在学习过程中我将视频中涉及的代码都一行一行手敲了一遍,并且把Spring入门相关的资料整理了一下,在这里记录一下我在 ...

  8. 1.spring概述

    1.spring概述 1.1Spring是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 A ...

  9. 最新最全面的Spring详解(一)——Spring概述与IOC容器

    前言 本文为 [Spring]Spring概述与IOC容器 相关知识,下边将对Spring概述,IOC容器(包括:IOC概述.配置元数据.容器实例化与使用.Bean的概述.依赖注入 Dependenc ...

  10. SpringFramework:Spring 概述

    Spring 概述 文章目录 Spring 概述 一.Spring/SpringFrame 概述 二.Spring IOC 和 AOP 概述 1. IOC 2. AOP 三.Spring 全家桶内容概 ...

最新文章

  1. 关于AIX lv 4k offset问题初步了解
  2. 集合转换Stream流式操作
  3. python的前端个web的前端有什么区别_用Python 操作Web 前端 基础
  4. 【iOS】Touch Drag Inside 和 Touch Drag Outside、Touch Drag Enter、Touch Drag Exit的区别
  5. java 读取 properties 配置文件的几种方式
  6. u盘文件名乱码linux,科学网—u盘文件夹名称乱码,双击打开提示无法访问解决办法 - 芦红的博文...
  7. 数字虚拟人metahuman,苹果手机做动作捕捉
  8. 在Excel里怎么输入可以打钩的选择框?
  9. js实现公历(阳历)和农历(阴历)的换算
  10. 图片格式转换jpg,图片批量转成jpg
  11. 如何去掉网页一直点击出现蓝色背景的效果
  12. 只是浅谈MS SQL Server的Page Splits运作原理
  13. 技术融合:使用区块链的5G——未来无线通信的序章
  14. 员工内斗,管理者要不要插手?
  15. App移动应用测试点总结
  16. 《思危:犹太人的赚钱哲学》阅读
  17. 苹果cms V10添加修改播放器教程
  18. 文本标注转换器MapTextLabeller介绍(一)
  19. Windows 录屏软件哪个好?据说这几款录制工具还不错!
  20. SPAD SiPM 激光雷达sensor 简介

热门文章

  1. opengl es坐标变换理解1
  2. 一道学吧上的题 ^ 题目:不允许重复的实验 - 从数字1、2、3、4、5中随机抽取3次数字(不允许重复)组成一个三位数,则其各位数字之和等于n的概率为________ 输入整数 输出一个小数(保留
  3. Raki的读paper小记:ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS
  4. 213.打家劫舍II(力扣leetcode) 博主可答疑该问题
  5. java book_java_book java 图书管理系统 GUI - 下载 - 搜珍网
  6. linux 输入法框架xim,基于XIM协议的输入法原理与实现
  7. 简单的解决达梦数据库查询 dm.jdbc.driver.DmdbNClob@1064bb3e 问题
  8. 关于 JVM 内存的 N 个问题(转)
  9. POJ - 2891 中国剩余定理
  10. face landmark 人脸特征点检测