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就是将这些系统服务抽取形成一个切面,然后将切面动态的植入到业务逻辑中。

最新文章

  1. Linux文件和目录权限详细讲解
  2. 在Ubuntu下进行MongoDB安装步骤
  3. 关于StartCoroutine的简单线程使用
  4. SwipeRefreshLayout
  5. 最新仿梦芭莎免费ecshop模板
  6. copy
  7. 开启g++ 编辑器 c++11特性
  8. 健身计划_from85to75
  9. 交换机access和trunk的一些小结(转)
  10. ios 6 横竖屏转换
  11. Spring Boot 系列教程5-热部署-devtools模块
  12. React-Native 之 redux 与 react-redux
  13. 使用 Java8 Optional 的正确姿势(转)
  14. Codeforces 865C Gotta Go Fast 二分 + 期望dp (看题解)
  15. unity 2d游戏 按y坐标排序子对象
  16. c++基础:之封装
  17. C++ 第一课:预处理命令
  18. C语言的整型溢出问题
  19. 简单拼接图像的tile_images和tile_images_offset算子
  20. Python之路(六)---> 函数、变量

热门文章

  1. oslab oranges 一个操作系统的实现 实验四 认识保护模式(三):中断异常
  2. codevs1068乌龟棋-四维DP,五维如何缩减一维
  3. 深入剖析JavaScript中的数据类型判断(typeof instanceof prototype.constructor)
  4. React Slingshot
  5. GitHub GraphQL API v4 & GitHub REST API v3
  6. 为什么NGK推出的DEFI项目这么火热?
  7. NGK以强大的创新能力赋予NGK公链超级实用的特性
  8. JUC并发编程学习笔记
  9. Spring Security 实战干货:OAuth2登录获取Token的核心逻辑
  10. R语言学习4:函数,流程控制,数据框重塑