Spring IOC AOP的理解

Spring IOC AOP的理解

spring框架的两大核心内容分别为IOC 和 AOP,下面谈谈对这两大特性的理解。

相关概念

  1. IOC( Inversion of Control ) ,是面向对象编程中的一种设计原则,致力于降低低系统代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。
    即系统中组件与组件之间的依赖关系由spring框架统一管理,组件自身不再维护这种依赖关系,而是由spring框架在运行时完成依赖关系的确定与装配。组件是被动接受依赖对象的注入,而不是主动寻找建立依赖对象。
    如下图所示:
    IOC
    类中的成员变量的对象实体来自于spring框架的创建,并且由spring在运行时完成装配工作。
    此种设计模式的优势在于降低系统中组件的耦合度

    2.AOP (Aspect Oriented Programming) 面向切面编程,利用AOP致力于将业务逻辑代码(关注点代码)切面代码(重复,可复用代码) 分离,从而使得业务逻辑各部分之间的耦合度降低。
    例如,数据库入库操作是关注点代码,而在数据入库之前数据校验,业务日志记录等,入库成功后日志记录,若发生错误时回滚操作等属于可重用代码,利用AOP可以实现 重用。使开发者只关注于业务的实现。
    此种设计模式的优势在于
    1.解耦,降低系统关注点代码和切面代码的耦合度
    2.提高程序的可重用性,同时提高了开发的效率。

猜你喜欢

转载自blog.csdn.net/qq_15724113/article/details/86492376