Spring IOC和AOP的理解

本文阐述了Spring框架中的IoC(控制反转)原理,如何通过容器管理对象关系,以及AOP(面向切面编程)如何分离核心业务逻辑,实现非核心功能如日志、事务的模块化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring IOC和AOP的理解

IOC

IOC(Inversion of Control)控制反转
1.IoC是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。
2.IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件之中。  
3.在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。
4.IoC的优点:降低了组件之间的耦合,降低了业务对象之间替换的复杂性,使之能够灵活的管理对象。

高度凝练版

IOC(Inversion of Control)控制反转,是一种设计思想,是一个重要的面向对象编程的法则
1.在java开发中,IoC可以让我们吧设计好的对象交给容器控制,而不是在对象内部直接控制。
2.对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。

AOP

AOP(Aspect Oriented Programming)面向切面编程
1.AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

高度凝练版

AOP(Aspect Oriented Programming)面向切面编程,是一种编程范式,是对面向对象编程(OOP)的一种完善
1.AOP将整个系统分为“核心业务逻辑”和“非核心业务逻辑”,AOP关注的就是“非核心业务逻辑”(权限、事务、安全、异常、日志等)
2.Spring将“非核心业务逻辑”封装成一个AOP组件,通过配置信息形成“核心业务和AOP组件”之间的调用关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PostMan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值