一、什么是IOC?
通常都叫它为控制反转。
个人的理解IOC就是把复杂系统分解为相互合作的对象,把具有依赖关系的对象进行解耦。
我们以前是需要什么对象就创建什么对象。但现在有了IOC这个中间容器,帮助创建对象,然后把这个对象注入。
————简而言之,就是把获得依赖对象的过程由自身管理变为了由IOC容器主动注入。
化主动为被动,所以是控制反转,也叫依赖注入。
二、什么是AOP
是一种面向切面的编程思想。
在不改变,原有逻辑的基础上,增加一些额外的功能,例如:日志,权限,登陆。
AOP使用场景:权限、缓存、调试、事务、资源池、性能优化、内容传递、错误处理、懒加载、持久化、同步、记录跟踪、优化、校准。
————简而言之,就是程序写好了,但是发现要针对所有业务操作添加一个日志,或者在前面加一道权限控制。不管加在哪里,都是属于系统层面,AOP就是引导你从另一个切面来处理这些工作。