IOC和AOP

我对IOC和AOP的理解

spring中最重要的两大核心概念就是IOC和AOP了,这也是面试中框架部分的必问点了

IOC

首先是IOC,到底什么是IOC呢?IOC(Inversion Of Control)叫做控制反转。它主要还是一种设计思想,它可以将原本手动创建实例的过程交给 spring 来处理。目的就是简化开发。因此,IOC还提供了IOC容器来存放这些实例。

IOC的主要实现就是DI依赖注入,Spring帮助了我们生产对象、管理对象、管理对象与对象之间的依赖关系。降低了代码的耦合度、方便开发。

其中依赖注入也有几种方式

1、通过构造函数创建

2、通过set方法创建

3、用p命名空间

4、使用注解的方式:@Autowired/@Resource

AOP

AOP(Aspect Oriented Programming)称为面向切面编程

AOP是一种编程思想,它可以将那些与业务无关,却为业务模块所共同调用的逻辑(例如事务处理、日志管理、权限控制等)封装起来,减少系统的重复代码,降低了模块之间的耦合度,具有可扩展性可维护性

AOP的实现原理是动态代理,分别有两种:JDK动态代理CGLIB动态代理

现在实现AOP的方式主要有两种,一个是Spring AOP,另一个是 AspectJ AOP,其中Spring AOP已经集成了AspectJ,两者的区别:AspectJ功能更加强大性能更好,但SpringAOP更简单,

posted @   叁玖贰拾柒  阅读(890)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示