什么是AOP

AOP就是典型的代理模式的体现。
AOP(Aspect-Oriented Programming),一般称为面向切面编程,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志、事务处理等。

什么是IOC

IOC就是典型的工厂模式,通过sessionfactory去注入实例。
控制反转即IOC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。Spring IOC负责创建对象,管理对象(通过依赖注入DI),装配对象,配置对象,并且管理这些对象的整个生命周期。

IOC的作用

  • 管理对象的创建和依赖关系的维护。
  • 解耦,由容器去维护具体的对象。
  • 托管了类的产生过程,比如我们需要在类的产生过程中做一些处理,最直接的例子就是代理,如果有容器程序可以把这部分处理交给容器,应用程序则无需去关心类是如何完成代理的。

IOC优点

  • 通过依赖注入(DI)把应用的代码量降到最低。
  • 是应用更容易测试,单元测试不需要单例和JNDI查找机制。
  • 最小的代码侵入性实现耦合性。
  • IOC容器支持加载服务时的饿汉式初始化和懒加载。
Last modification:March 18th, 2021 at 11:14 pm
我从来都不喜欢钱,我也没碰过钱,我对钱没兴趣