两个月前跟着b站动力节点王鹤老师的Spring框架教程视频学习完了Spring框架,在学习过程中我将视频中涉及的代码都一行一行手敲了一遍,并且把Spring入门相关的资料整理了一下,在这里记录一下我在Spring框架学习过程中的笔记和一些心得,希望能帮助到想要通过文字教程入门Spring这一框架的小伙伴哦!

视频地址:2020最新Spring框架教程【IDEA版】-Spring框架从入门到精通

文章目录

  • 第一部分 Spring概述
    • 1. 什么是 Spring 框架
    • 2. Spring 的优点
      • 1)轻量
      • 2)面向接口编程,解耦合
      • 3)支持 AOP 编程
      • 4)方便集成各种优秀框架
    • 3. Spring 体系结构

第一部分 Spring概述

1. 什么是 Spring 框架

Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。

官网: Spring | Home

Spring 的主要作用就是为代码 “解耦”,降低代码间的耦合度。它使得对象和对象(模块和模块)之间的关系不是使用代码来关联,而是通过配置来说明。即在 Spring 中说明对象(模块)的关系。 这减轻了对项目模块之间以及类和类之间的管理难度, 帮助开发人员创建对象,管理对象之间的关系。

Spring 是一个框架,是一个半成品的软件。由 20 个模块组成。它是一个用来管理对象的容器,容器是拿来装东西的,而 Spring 容器不装文本、数字,装的是对象。所以 Spring 是存储对象的容器。
我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。比如:Core Container 中的 Core 组件是Spring所有组件的核心,Beans 组件和 Context 组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程。

Spring全家桶:Spring , SpringMVC ,Spring Boot , Spring Cloud

2. Spring 的优点

1)轻量

Spring 框架使用的 jar 文件都比较小,一般在 1M 以下。Spring 核心功能的所需的 jar 文件总共在 3M 左右。Spring 框架运行占用的资源少,运行效率高,而且不依赖其他 jar 文件。

依赖:classA 类中含有 classB 的实例,在 classA 中调用 classB 的方法完成功能,即 classA 对 classB 有依赖。

2)面向接口编程,解耦合

Spring 提供了 IoC 控制反转,由容器管理对象以及对象之间的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。使得对象之间的依赖解耦合。

3)支持 AOP 编程

通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 在 Spring 中轻松应付,开发人员可以从繁杂的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

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

Spring 不排斥各种优秀的开源框架,相反 Spring 可以降低各种框架的使用难度,Spring 提供了对各种优秀框架(如 Struts,Hibernate、MyBatis等)的直接支持,简化框架的使用。Spring 像排插一样,其他框架是插头,可以容易地组合到一起。需要使用哪个框架,就把这个插头插入排插,不需要的话可以轻易地移除。

3. Spring 体系结构

下图对应的是 Spring4.x 版本。目前最新的 5.x 版本中 Web 模块的 Portlet 组件已经被废弃掉,同时增加了用于异步响应式处理的 WebFlux 组件。

  • Spring Core :基础,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IoC 依赖注入功能。
  • Spring Aspects :该模块为与 AspectJ 的集成提供支持。
  • Spring AOP :提供了面向切面的编程实现。
  • Spring JDBC : Java 数据库连接。
  • Spring JMS :Java 消息服务。
  • Spring ORM : 用于支持 Hibernate 等ORM工具。
  • Spring Web : 为创建 Web 应用程序提供支持。
  • Spring Test : 提供了对 JUnit 和 TestNG 测试的支持。

【Spring】(1)Spring概述:什么是Spring框架?为什么要用Spring框架?相关推荐

  1. Spring框架学习-Spring和IOC概述

    一:什么是Spring框架? spring是一个分层的javase/EEfull-stack(一站式)轻量级的java开源框架.是为了解决企业开发的复杂性而创建的.框架的主要优势是分层架构,Sprin ...

  2. Spring入门到精通:第一章 基础入门:1.Spring框架概述

    Spring入门到精通:第一章 基础入门:1.Spring框架概述 前言:为什么要学习Spring框架? 为什么要学习Spring框架呐? (1)使用广泛:现在很多的企业都有Spring的影子,不管是 ...

  3. Spring Cache-缓存概述及使用

    概述 缓存的概念 缓存命中率 过期策略 Spring Cache的好处 Spring Cache的缺点 自定义缓存管理器粗略实现 使用Spring Cache 示例源码 概述 伴随信息量的爆炸式增长以 ...

  4. PHP框架和springboot区别,Spring和SpringBoot的区别

    一.啥是spring? Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架. 简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持. 它包含了一 ...

  5. Spring Quartz 框架结构概述(一)[转]

    Spring Quartz 框架结构概述(一)[转]  标签:scheduler  trigger  jobdatamap  任务调度  quartz   http://www.blogjava.ne ...

  6. 通俗易懂-SSM三大框架整合案例(SpringMVC+Spring+Mybatis)

    前言: 学习B站UP狂神说视频笔记整理视频链接 相关代码已经上传至码云:码云链接 前期准备 项目介绍 demo项目是一个简单的图书管理系统,主要功能为表单数据的增删改查 Web端使用JSP+Boots ...

  7. 【重温SSM框架系列】2 - Spring配置数据源连接池(手动创建与配置)

    Spring配置数据源) 数据源(连接池概述) 自定义数据源(手动创建) 1. 导入Druid和mysql数据库驱动依赖包 2. 创建数据源对象并配置基本连接信息 使用JDBC操作数据库,打印user ...

  8. Spring框架(一)—— Spring 简介

    文章目录 一.Spring 简介 1.Spring 概述 2.Spring Framework 下载 3.Spring 框架组成 一.Spring 简介 1.Spring 概述 (1)Spring 是 ...

  9. idae中spring mvc解决问题application context not configured for this file于spring框架使用中的原因

    idae中spring mvc解决问题application context not configured for this file于spring框架使用中的原因 参考文章: (1)idae中spr ...

  10. java同步变异步框架_java-如何使用Spring配置异步和同步事件发布者

    我正在尝试使用spring事件实现事件框架,后来我知道spring事件框架的默认行为是sync.但是在春季上下文初始化期间,如果它找到ID为applicationEventMulticaster的be ...

最新文章

  1. java存储cookie_在java中如何用cookies保存数据?
  2. java lambda表达式详解_Java8新特性Lambda表达式详解
  3. 记录皮尔逊相关系数-相似性比较算法
  4. 改变openssl的环境变量linux,ECS Linux 安装配置openssl的具体过程
  5. C#委托、事件学习之(三)——热水器烧水案例
  6. 小学计算机技术指导纲要,《中小学信息技术课程指导纲要(试行)》
  7. 量子计算机具有天热的,量子绝热计算
  8. ValueError: Variable conv1/weights already exists.
  9. 继承extends(Java)
  10. [渝粤教育] 西南科技大学 机械工程测试技术 在线考试复习资料
  11. 《Java并发编程实践》笔记1——并发编程基础
  12. 数字电路实验 04 - | 组合逻辑电路的设计与测试
  13. 使用JDOM生成/解析XML文档
  14. 74cms php在那个文件夹里面,74cms后台getshell
  15. ios 视频处理详解一(视频导出)
  16. 接收信号强度值dbm分析
  17. Mysql学习笔记(一)学完就出师系列哈哈哈
  18. activemq管理页面
  19. App首次进入引导界面
  20. 【K8S系列】深入解析 k8s:入门指南(一)

热门文章

  1. springboot高级篇(认证,授权)
  2. 英文名字大全(女篇)
  3. windows update 80092004错误
  4. Perl语言入门笔记 第六章 哈希(hash)
  5. 李祥林:从美国经验看中国资产证券化的发展
  6. 【综述篇】(1)无人驾驶/机器人规划方向综述
  7. 基于Java的网络流量分析软件设计
  8. iMX RT FlexSPI 时序及驱动程序参数设置解析 (一)
  9. DevExpress 设置DateEdit显示年月
  10. 友价T5开发的网站源码交易平台