《Spring》Spring 三大特性AOP、IOC、DI

前言

Spring 三大特性分别为AOP、IOC、DI

一、 IOC(Inversion of Controller) 即控制反转。

1.1 含义
  • Spring IOC(Inversion of Control,控制反转)是 Spring 框架的核心概念之一。它是通过依赖注入(Dependency Injection)实现的。其核心思想是将对象的创建和依赖关系交由 Spring 容器管理,而不是由程序代码直接控制。这样可以实现程序组件之间的解耦,提高代码的可维护性和扩展性。

  • 依赖注入的方式包括构造器注入、setter 注入、接口注入等,目的是将对象所需的依赖传递给它,而不是让对象自己去创建依赖。

  • 控制含义:控制对象的创建, IOC容器根据配置文件创建对象。比如,在没有使用 IOC 容器的时候,我们在类 A 的构造函数里写 new B(),就是在主动控制类 B 的创建。

  • 反转含义:对象创建并注入依赖的动作,本来是程序员在代码中指定,但是现在交由 IOC 容器来完成。也就是说,本来是我们主动去 new 一个对象,现在变成容器在运行时自动帮我们创建并注入,举个简单的例子,ioc创建A的时候,发现依赖b,就会创建好b,并将b注入A。

  • 另外,注入的内容也不一定是对象,也可以是配置文件中的值。

1.2 好处

解耦:例如对象A 依赖对象B,不许哟啊想以前在A的代码中写死依赖的实现B,只需要声明依赖的接口。然后在配置文件里面定义好具体的实现B,根据配置文件,ioc 在创建A的时候,就能创建好b,注入就行,之后B的实线需要更换的话,A的代码不用动,只需要该配置文件给A注入新的B1.

扩展性强:
对象的创建有IOC容器负责,所以创建的过程中,可以添加额外的功能,例如生成代理对象和日志记录。

二、DI(Depnedency injection 依赖注入)

2.1 含义:

实现反转的一种机制,核心思想是由Spring容器负责对象的依赖注入,而不是由对象自行创建或者查找依赖对象。

实现方式:
包括构造器注入、setter 注入、字段注入等,目的是将对象所需的依赖传递给它,而不是让对象自己去创建依赖。

2.1.1.构造器注入

  • 通过构造函数参数传递依赖对象,强制保证对象初始化时依赖已存在。
  • 优点:适合强制依赖,对象一旦创建即可使用。
public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值