Spring AOP、IOC

本文深入探讨了Spring框架中的核心概念——IOC(控制反转)、DI(依赖注入)和AOP(面向切面编程)。IOC通过Spring容器管理对象及其依赖关系,实现松耦合。DI作为IOC的一种实现方式,消除了类之间的直接依赖。AOP则通过横切关注点,减少了重复代码,增强了代码的复用性和可维护性,是函数式编程的衍生范型,基于动态代理实现。

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

Spring AOP、IOC

IOC(控制反转)

Ioc—Inversion of Control,即控制反转,不是什么技术,而是一种设计思想。IOC容器负责实例化、定位、配置应用程序中的对象和建立这些对象中的依赖关系。交由Spring容器统一进行管理,从而实现松耦合。

就例如:

你的公司需要招聘技术人员、主管人员,你需要去发布招聘信息、去面试应聘人员、最后通过、获得技术人员…

控制反转后

比如,有个猎头公司给你推荐、引荐了各类技术人才,你不需要去发布招聘信息、面试人员,可以直接引用猎头公司推荐的技术人才;

DI(依赖注入)

DI-----Dependency Injection,即“依赖注入”,是IOC的一种实现方式;是一种设计模式,也是Spring框架的核心概念之一。其作用是去除Java类之间的依赖关系,实现松耦合,以便于开发测试。

依赖注入是一种消除类之间依赖关系的设计模式。例如,A类要依赖B类,A类不再直接创建B类,而是把这种依赖关系配置在外部xml文件(或java config文件)中,然后由Spring容器根据配置信息创建、管理bean类。

AOP(面向切面编程)

AOP(Aspect-Oriented Programming,面向方面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

一个系统中会有多个不同的服务,例如用户服务、商品信息服务等等,每个服务层都需要验证参数,都需要处理异常,对不同服务的纵向处理流程进行横切,在每个切面上完成通用的功能,例如身份认证、验证参数、处理异常等等、这样就不用在每个服务中都写相同的逻辑了,这就是AOP思想解决的问题。

AOP以功能进行划分,对服务顺序执行流程中的不同位置进行横切,完成各服务共同需要实现的功能。

AOP的是实现是建立在你的Java的动态代理的基础之上(一种设计模式;代理模式)
动态代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值