作为一名 Java 开发,对 Spring 框架是再熟悉不过的了。技术肯定是为了解决某个问题而诞生,要弄清楚为什么使用 IoC 和 AOP,就得先弄清楚不用它们会碰到什么问题。这些被复用的对象就像一个个的组件,供多方使用。上层调用下一层时,必然会持有下一层的对象引用,即成员变量。本应多个 Controller 复用同一个 Service,多个 Service 复用同一个 DAO。现在变成了一个 Controller创建多个重复的 Service,多个 Service 又创建了多个重复的 DAO,从倒三角变成了正三角。比如 DAO 对象要依赖一个这样的数据源组件:该数据源组件要想真正生效需要对其进行许多配置,这个创建和配置过程是非常麻烦的。

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP

Java开发到底为什么要用 IoC 和 AOP