Springloc和aop的基础概念

什么是控制反转和依赖注入?

控制反转(IoC)和依赖注入(DI)是软件开发中常用的编程范式,

它们极大地提高了代码可维护性和可复用性,简化了代码结构。

什么是控制反转(IoC)

控制反转是- - 种编程模式,它将应用程序中的控制权转移到容器,通

过使用者给容器指定它需要的资源,容器来完成具体的对象创建和外

部调用资源的分配工作。在控制反转模式下,对象的依赖关系电第三

方容器(如Spring框架)来管理,而不是由程序本身控制。

什么是依赖注入(DI)

依赖注入是另一种编程范式,它将需要通过调用来实现的资源,替换

成注入的依赖(通常称为参数)。这些依赖通常由具体实现对象的对

象提供。依赖注入的思路是,将依赖的调用和实现解耦,以达到解耦

和可维护的目的。当使用依赖注入时,需要提供一-种方式,将实例注

入。

控制反转和依赖注入的优势

(1)简化编码。控制反转和依赖注入模式,可以将资源和对象的引用分别移交给三方容器和依赖参数,从而节省了用于实例building的代码,

避免编写大量重复的代码。

(2)提高可复用性。控制反转和依赖注入模式,可以将对象和资源的

创建和依赖解耦,这样做将会提升代码的可复用性。

(3)提供可测试性。使用控制反转和依赖注入模式,可以有效管理接

口和实现,简化测试套件的编写,当接口的实现变更的时候,可以修

改对应的依赖,而不需要修改已编写的测试代码。

总结

控制反转和依赖注入是软件开发中常用的编程模式,它们可以简化代

码结构、提高代码可维护性和可复用性、以及提供可测试性,是软件

开发的重要概念,被广泛应用。

什么是AOP?

aop的意思是指通过预编译和运行期动态代理实现程序功能的统一维护。aop即面向切面编程。在Spring框架中,aop就是一个很重要的功能。用aop可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

AOP的核心思想是什么?

AOP (面向切面编程)是一种编程范式,它将应用程序的功能分为核心业务和

横向关注点(如日志记录、性能测试、权限控制等)。AOP的核心思想是将横向

关注点从核心业务中抽离出来,以便更好地复用和修改横向功能。在AOP中

横向关注点被称为切面,而核心业务被称为连接点。通过在切面上定义通用的横

向功能我们可以轻松地将它们应用于多个连接点使得代码更易于维护和理解。

AOP有哪些增强处理类型及特点?

|----------------|---------------------------------------|
| 增强类型 | 特点 |
| Before | 前置增强处理,在目标方法前织入增强处理 |
| AfterReturning | 后置增强处理,在目标方法正常执行(不出现异常)后织入增强处理 |
| AfterThrowing | 异常增强处理,在目标方法抛出异常后织入增强处理 |
| After | 最终增强处理,不论方法是否抛出异常,都会在目标方法最后织入增强处理 |
| Around | 环绕增强处理,在目标方法的前后都可以织入增强处理。可以控制目标方法是否执行 |

相关推荐
躺平大鹅1 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者2 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺2 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart3 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP4 小时前
MyBatis-mybatis入门与增删改查
java
孟陬8 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌8 小时前
一站式了解四种限流算法
java·后端·go
华仔啊8 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java
也些宝9 小时前
Java单例模式:饿汉、懒汉、DCL三种实现及最佳实践
java