ioc:
"IoC 是一种软件设计原则,它反转了传统的程序设计流程。在传统的程序设计中,一般都是手动控制程序的控制流程,而在 IoC 中,控制流程被反转,由容器负责创建和管理对象,同时将这些对象之间的关系注入到对象中。
在实际应用中,IoC 的实现方式通常是通过依赖注入(DI)。依赖注入是指通过构造函数、属性或方法参数等方式,将一个对象的依赖关系注入到对象中,而不是在对象内部直接创建依赖对象。
Spring框架是一个典型的IoC 容器。在 Spring 中,IoC 是通过 Spring 容器来实现的,容器负责创建和管理应用程序中的对象,同时通过配置文件或注解来描述对象之间的依赖关系。这样,无需手动管理对象的创建和销毁,而是委托给 Spring 容器来完成,从而降低了耦合性,提高了代码的可维护性和可测试性
aop:
AOP 是一种编程范式,它旨在将横切关注点从应用程序的主业务逻辑中分离出来。横切关注点是那些不属于业务逻辑但会散布在整个应用程序中的关注点,比如日志、事务管理、权限控制等。
AOP 的核心概念是切面(Aspect)。一个切面是一个横切关注点的模块化单元,它包含了一些通知(Advice)和一些切点(Pointcut)。通知定义了在切点上执行的行为,而切点则定义了在何处应用通知。
Spring 框架提供 AOP 支持。通过使用 Spring AOP可以:
将横切关注点从主业务逻辑中分离出来,使得代码更具可维护性。
避免在代码中重复相同的横切关注点逻辑,提高代码的重用性。
将关注点和主业务逻辑解耦,使得系统更容易理解和维护。
在 Spring AOP 中,通知可以在目标方法执行之前(Before advice)、之后(After advice)、抛出异常时(After throwing advice)、成功返回结果时(After returning advice)等时机执行。切点定义了通知应该在何处执行,可以使用表达式或者注解等方式指定切点。
模块化和可维护的方式来处理横切关注点,代码的可读性和可维护性。