Spring框架的两大核心思想

简介:Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。就是让对象和对象(模
块和模块)之间关系不是使用代码关联,而是通过配置来说明。即在 Spring 中说明对象(模
块)的关系。
Spring 根据代码的功能特点,使用 Ioc 降低业务对象之间耦合度。IoC 使得主业务在相互
调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring
容器统一管理,自动“注入”,注入即赋值。 而 AOP 使得系统级服务得到了最大复用,且
不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成
“织入”。
1、Spring-IOC:

IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”。
简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。
所谓控制反转指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。通过容器实现对象的创建,属性赋值,依赖的管理。
IOC的核心思想是DI(Dependency Injection)程序代码不做定位查询,这些工作由容器自行完成。
依赖注入 DI 是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建
被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。Spring 的依赖注入对调用者与被用者几乎没有任何要求,完全支持对象之间依赖关系的管理。

2、AOP

AOP(Aspect Orient Programming),面向切面编程。面向切面编程是从动态角度考虑程
序运行过程。
AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动态代理,与 CGLIB
的动态代理。
AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,可通过运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 Spring 框架中的一个重要内容。利用 AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
业务逻辑中。所谓交叉业务逻辑是指,通用的、与主业务逻辑无关的代码,如安全检查、事务、日志、缓存等。若不使用 AOP,则会出现代码纠缠,即交叉业务逻辑与主业务逻辑混合在一起。这样,
会使主业务逻辑变的混杂不清。
例如,转账,在真正转账业务逻辑前后,需要权限控制、日志记录、加载事务、结束事
务等交叉业务逻辑,而这些业务逻辑与主业务逻辑间并无直接关系。但,它们的代码量所占
比重能达到总代码量的一半甚至还多。它们的存在,不仅产生了大量的“冗余”代码,还大
大干扰了主业务逻辑—转账。

Spring框架的两大核心思想相关推荐

  1. 【JAVAEE框架】浅谈 Spring 框架的两大核心思想 AOP 与 IOP

    哈喽~大家好呀,这篇来看看Spring 框架的两大核心思想.

  2. Spring 框架基础(03):核心思想 IOC 编程说明,案例演示

    本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...

  3. spring相关:spring介绍与两大核心容器

    1.什么是spring? spring是一个开放源码的J2EE容器框架,是针对bean的生命周期进行管理的轻量级容器.容器内放置的都是java对象(java bean),当容器启动时,容器为我们创建对 ...

  4. Spring使用与两大核心(Bean,AOP)

    Spring框架 哈哈哈Spring官网的标题直接说明了我们为什么要使用spring.接下来我们看看一下Spring的使用步骤. Spring入门使用 1.下载Spring依赖 先进入官网 点击进入g ...

  5. Spring框架两大核心特征的基本理解

    Spring框架的两大核心特征:AOP和IoC IoC(控制反转)是Spring的一个容器,他不是一种技术,而是一种思想,依旧是基于面向对象编程的.它能指导我们怎么样设计出松耦合.更优良的程序. 简单 ...

  6. BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心【HDFS存储和MapReduce计算】)、深入理解、下载、案例应用之详细攻略

    BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心[HDFS存储和MapReduce计算]).深入理解.下载.案例应用之详细攻略 目录 Hadoop的简介(分布式系统 ...

  7. Spring4.x❶ 两大核心之IOC

    1 Spring? 2 IOC案例 2.1 配置文件方法 2.2 注解方法 2.3 配置文件与注解一起使用 3 代码案例可参考: 更多Spring开发在框架开发 1 Spring? Spring是开源 ...

  8. Java轻量级业务层框架Spring两大核心IOC和AOP原理

    IoC(Inversion of Control): IOC的基本概念是:不创建对象,但是描述创建它们的方式.在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务.容器负责将这些 ...

  9. java spring原理详解,spring原理详解,两大核心IOC和AOP

    大家好,我是java梦之旅,一个被Bug耽误了才艺的程序员,专注于Java领域的知识分享和技术交流,每天会给大家带来Java学习的干货教程,喜欢我的同学可以关注我,一起学习,一起加油! 1.概念:sp ...

最新文章

  1. 沃丰报告:物联网的未来
  2. [Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建
  3. 使用salt-api来搭建salt自动化平台
  4. java执行sql文件_面试官:MyBatis SQL是如何执行的?把这篇文章甩给他
  5. 【题解】洛谷P1541 [NOIP2010TG] 乌龟棋(类似背包的DP)
  6. nas存储如何做远程服务器数据备份_备份数据?7 个理由告诉你为什么要用 NAS,而不用移动硬盘...
  7. web前端之框架(frameset)
  8. 在两个不同域中的WINDOWS 2003活动目录做迁移笔记
  9. C++ 基于凸包的Delaunay三角网生成算法
  10. centos 6 编译emacs-24.5
  11. C++——动态内存分配new--delete
  12. 苹方字体 for linux,使用macOS苹方替换Windows 10微软雅黑
  13. xshell中如何给文件夹加密_Xshell登录服务器的两种认证方式
  14. 附合导线坐标计算例题_附合导线坐标计算
  15. 图像一阶导数和二阶导
  16. 带得动ps和python的笔记本_配台电脑,能玩LOL顶配和能够写一些python脚本能用ps不卡,预算6k到8k?...
  17. 教育惩戒权终于来了,能杜绝“拦路打老师案”的剧情吗?
  18. 纯干货!15000 字语法手册分享给你,看完搞懂,再也不担心SQL写不好了
  19. 锂电池和锂离子电池命名规则
  20. Maya灯光【电影级灯光渲染-基础光】

热门文章

  1. 《吃货联盟定餐系统》
  2. 神州数码DCRS试题题目合集
  3. SPA项目开发之JWT
  4. quartz配置动态任务,从数据库读取相应的类及方法,执行任务(任务添加、修改、暂停、恢复)
  5. 计算机学院运动会搞笑解说词,趣味运动会搞笑解说词
  6. 计算机网络--网卡配置调优
  7. illustrator 教程
  8. 【Android API翻译】Manifest.permission
  9. matlab被13整除的三位数及个数,能被13整除的数的特征
  10. 当ChatGPT遇上弱智吧…