Spring的IOC和AOP思想

本文详细探讨了Spring框架的两大核心——IOC(控制反转)和AOP(面向切面编程)。IOC通过注解扫描实现对象的生命周期和依赖关系管理,降低耦合度。依赖注入(DI)是其前提,Spring中常用set注入实现。AOP则关注横切关注点,通过代理模式实现,如JDK动态代理和CGLIB代理,用于分离核心关注点和非核心关注点。
摘要由CSDN通过智能技术生成

Spring框架的两大核心(ioc和aop)

一、ioc:控制反转(Inversion of Control)思想

1.1、由spring来负责控制对象的生命周期和对象间的关系(SSM框架中的依赖关系)通过注解扫描的方式(底层使用反射)装入一个

1.2、作用:解耦(入下图)

解耦前

这就是没使用ioc思想下的关系图(耦合度太高)
解耦后

1.3、控制反转思想前提 —— 依赖注入(DI)(一般都是set注入)

Dependency Injection,说的是创建对象实例时,同时为这个对象注入它所依赖的属性。相当于把每个bean与bean之间的关系交给容器管理。而这个容器就是spring。
例如我们通常在 Service 层注入它所依赖的 Dao 层的实例;在 Controller层注入 Service层的实例。
DI 给对象属性赋值的过程叫做依赖注入!
SSM中
spring中采取set注入给对象属性赋值如下

<bean id="p1" class="com.zqs.bean.Person">
	<property name="id" value="001">
	<property name="name" value="赵青松">
	<peoperty hobbly value="打篮球">
</bean>

这里已经实现了控制反转了

1.4、控制反转思想的实现

也就是依赖倒置的思想

依赖倒置前:
eg:(造飞机):先造螺丝钉-造使用螺丝钉的配件-造使用配件的组件-造使用组件的飞机

依赖倒置前
飞机上有螺丝钉这一参数,导致后面调用都会传这个参数,直到最后

依赖倒置后
**eg:**先造机身-根据机身造组件-根据组件造配件-根据配件造螺钉
依赖到之后
依赖倒置后,只需要造飞机不管后面的参数,最后再改最底层的(螺丝钉)

以上就是依赖倒置的概念(我们调用方法时不需要考虑下一层的是怎么构造的,只需要new 下一层对象,只需要维护最底层即可)

1.5、spring中的控制反转

spring 则是通过 IOC 容器来创建对象,也就是说我们将创建对象的控制权交给了 IOC 容器。我们可以用一句话来概括 IOC:
IOC 让程序员不在关注怎么去创建对象,而是关注与对象创建之后的操作,把对象的创建、初

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值