Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。
根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统级业务逻辑两类。它
们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性
相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供
系统级服务,如日志、安全、事务等,复用性强。
Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IoC 与 AOP。IoC 使得主
业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是
由 Spring 容器统一管理,自动“注入”。而 AOP 使得系统级服务得到了最大复用,且不用再

由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。

spring4

spring的体系架构:

spring4

Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、
Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送
(Messaging)、核心容器(Core Container)和测试(Test)。


控制反转(IOC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代
码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对
象控制权的转移,从程序代码本身反转到了外部容器。
IoC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式有两种:
依赖注入和依赖查找。依赖注入方式应用更为广泛。
  依赖查找:Dependency Lookup,DL,容器提供回调接口和上下文环境给组件,程序代
码则需要提供具体的查找方式。比较典型的是依赖于 JNDI 系统的查找。
  依赖注入:Dependency Injection,DI,程序代码不做定位查询,这些工作由容器自行完
成。
依赖注入 DI 是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建
被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。
Spring 的依赖注入对调用者与被调用者几乎没有任何要求,完全支持 POJO 之间依赖关
系的管理。
依赖注入是目前最优秀的解耦方式。依赖注入让 Spring 的 Bean 之间以配置文件的方式
组织在一起,而不是以硬编码的方式耦合在一起的。




相关文章:

  • 2021-08-02
  • 2021-09-03
  • 2021-09-26
  • 2022-01-19
  • 2021-06-23
  • 2021-06-23
  • 2021-11-30
猜你喜欢
  • 2021-06-30
  • 2021-12-25
  • 2021-11-22
  • 2022-01-08
  • 2021-09-03
  • 2021-08-04
  • 2021-11-15
相关资源
相似解决方案