IOC就是控制反转,控制反转就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。它把由程序代码直接操控的对象的调用权交给容器,通过容器实现对象组件的管理和装配。
Srping IOC负责创建对象,管理对象,装配对象,配置对象,并且管理这些对象的整个生命周期。
面向切面编程(AOP)就是纵向编程。比如业务a和业务b都需要一个相同的操作 ,传统方法我们可能需要在a,b中都加入相关操作代码,而应用AOP就可以只写一遍代码,a和b可以公用这段代码。并且需要在a,b加入新的操作时,可以在不改变原本代码的情况下,灵活添加新的业务逻辑实现。
像在实际开发中,比如商品查询,促销查询等业务,都需要记录日志和异常处理等操作,AOP可以把所有的公用代码剥离出来,单独放置到某个类中进行集中管理,在运行时,由容器进行动态导入这些公用代码。