IOC:
**控制反转(Inverse of Control)**是Spring容器的内核,AOP、声明式事务等功能都是在IOC的基础上开花结果的。所谓IOC,就是通过容器来控制业务对象之间的依赖关系,而非传统实现中,由代码直接操控。这也就是“控制反转”概念的所在:控制权由应用代码中转到了外部容器,控制权的转移,就是反转。控制权转移带来的好处就是降低了业务对象之间的依赖关系。
AOP:
**面向切面编程(Aspect Oritented Programing)**按照软件重构的思想,如果多个类中出现相同的代码,应该考虑定义一个共同的抽象类,将这些相同的代码提取到抽象类中,通过引入抽象类消除多个类中重复代码。