1. Spring简介

    Spring主要作用是用来解耦,降低代码之间的耦合度。根据功能的不同,可以将系统的代码分为主业务逻辑与系统服务逻辑。

    • 主业务逻辑之间代码联系紧密,相互调用较多,复用性相对较低;

    • 系统服务逻辑相对来说功能独立,主要是为主业务逻辑提供系统级的服务,如日志、安全、事务等,复用性相对较高。

    Spring根据代码的功能特点,将降低耦合度分为了两种方式:控制反转IoC与面向切面AOP。

    • IoC控制反转是的主业务在相互调用的过程中,不需要使用者手动维护之间的关系,即不需要手动创建对象,而是交由Spring容器进行统一管理,自动注入。
    • AOP面向切面编程,将系统服务逻辑进行抽取公用,使系统服务得到了最大复用,而且不需要使用者手工将系统服务混杂到主业务逻辑中,交由Spring容器进行统一执行。
  2. Spring核心结构

    Spring经过多年发展,现已成为事实上的行业标准,并且衍生出了众多子项目,如Spring Data、Spring Web mvc、Spring Boot等

​ 我们将的Spring指的是Spring Framework框架,目前Web模块与Data模块均已发展为子项目Spring MVC与Spring Data。Spring Framework是一个分层清晰并且依赖关系、指责定位非常明确的轻量级框架,主要包括Core container(核型容器)模块、AOP/Aspects模块以及Data(数据库访问)模块和Web(web应用)模块等,并且做到了独立,可插拔式开发。

  1. Spring特点

    • 非侵入式

      Spring框架的API不会出现在业务逻辑中,即业务逻辑就是POJO。业务逻辑中没有Spring相关的API,可以快速移植到其他框架

    • 容器

      Spring容器来管理对象的生命周期、对象间的依赖关系。

    • IoC

      控制反转(Inversion of Control),创建对象的实例不是由调用者完成,而是交由Spring容器完成,并注入调用者。

      ​ 应用IoC后,一个对象依赖的其他对象会被动的传入,而不是这个对象自己创建或者查找依赖对象。即不是对象从容器中查找依赖,而是容器在对象初始化时主动将依赖传入。

    • AOP

      AOP面向切面编程,是一种编程思想,是对面向对象OOP的补充。允许通过分离主业务逻辑与系统级服务进行开发,可以把日志、安全、事务管理等服务剥离出来,提取为公用代码,这样既降低了代码耦合,也提高了代码的复用率。AOP就是将这些系统服务抽取形成一个切面,然后将切面动态的植入到业务逻辑中。

Spring(一):Spring概述及相关概念的更多相关文章

  1. 214. Spring Security:概述

    前言 在之前介绍过了Shiro之后,有好多粉丝问SpringSecurity在Spring Boot中怎么集成.这个系列我们就和大家分享下有关这方面的知识. 本节大纲 一.什么是SpringSecur ...

  2. spring框架的概述与入门

    1. Spring框架的概述 * Spring是一个开源框架 * Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J ...

  3. Spring 框架的概述以及Spring中基于XML的IOC配置

    Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...

  4. Spring 的 AOP 概述和底层实现

    Spring 的 AOP 概述和底层实现 1. 什么是 AOP AOP (Aspect Oriented Programing),即面向切面编程 AOP 采取横向抽取机制,取代了传统纵向继承体系重复性 ...

  5. 15 Spring Data JPA概述

    Spring Data JPA 概述 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和 ...

  6. 【Spring】Spring的事务管理 - 1、Spring事务管理概述(数据库事务、Spring事务管理的核心接口)

    Spring事务管理概述 文章目录 Spring事务管理概述 数据库事务 什么是Spring的事务管理? Spring对事务管理的支持 Spring事务管理的核心接口 Platform Transac ...

  7. Spring总结_02_Spring概述

    一.概念准备 1.应用程序:是能完成我们所需要功能的成品,比如购物网站.OA系统. 2.框架:是能完成一定功能的半成品,比如我们可以使用框架进行购物网站开发:框架做一部分功能,我们自己做一部分功能,这 ...

  8. Spring 入门(概述)

    1.什么是框架 2.Spring简介 3.IOC(配置.注解) 4.Bean(配置.注解) 5.AOP(配置.注解.AspectJ.API) 资源: http://spring.io/ http:// ...

  9. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

随机推荐

  1. 慕课网站 & MOOC website

    慕课网站 & MOOC website MOOC, massive open online course Mooc for everyone ! 国家精品课程 & 在线学习平台 慕课平 ...

  2. Suspense for Data Fetching

    Suspense for Data Fetching Experimental https://reactjs.org/docs/concurrent-mode-suspense.html React ...

  3. NGK内存爆发式增长,看Baccarat将怎样打造全新的全场景金融生态

    从数字货币抵押借贷业务出发,DeFi已经形成了覆盖全场景的全新金融生态. 可以说,除了信贷等少数对现实世界信息存在较多依赖的实体业务,DeFi已经实现了传统金融业务的全面链上迁移.大多数传统金融行业存 ...

  4. Azure Functions(二)集成 Azure Blob Storage 存储文件

    一,引言 上一篇文章有介绍到什么是 SeverLess ,ServerLess 都有哪些特点,以及多云环境下 ServerLess 都有哪些解决方案.在这众多解决方案中就包括 Function App ...

  5. java中synchronized与Lock的异同

    本文转载自java中synchronized与Lock的异同 前言 synchronized和Lock通过互斥保障原子性,能够保护共享数据以实现线程安全,其作用包括保障原子性.可见性.有序性 常见问题 ...

  6. JVM基础入门

    内存模型 我理解的jvm: 个人理解的jvm流程: .java反编译为.class文件 经类加载器到上图的内存模型 方法区:存静态 常量区(String在里面) 本地栈区:调本地服务其它库的方法 计数 ...

  7. token、cookie和session区别以及django中的cookie,csrf

    参考:https://my.oschina.net/xianggao/blog/395675?fromerr=GC9KVenE [前言]登录时需要post的表单信息. 先跳过具体案例,讲解基础知识: ...

  8. 阻塞队列——四组API

    方式 抛出异常 有返回值,不抛出异常 阻塞等待 超时等待 添加 add() offer() put() offer(...) 移除 remove() poll() take() poll(...) 检 ...

  9. HDFS 03 - 你能说说 HDFS 的写入和读取过程吗?

    目录 1 - HDFS 文件的写入 1.1 写入过程 1.2 写入异常时的处理 1.3 写入的一致性 2 - HDFS 文件的读取 2.1 读取过程 2.2 读取异常时的处理 版权声明 1 - HDF ...

  10. 看动画轻松学会 Raft 算法

    由于 Paxos 算法过于晦涩难懂且难以实现,Diego Ongaro 提出了一种更易于理解和实现并能等价于 Paxos 算法的共识算法 - Raft 算法. 因为 Raft 算法清晰易懂越来越多的开 ...