ioc和aop是spring的核心功能。
所谓ioc这是一种面向对象的设计思想。在没有ioc之前,我们需要自己维护对象与对象之间的关系,这样会造成耦合度过高,对于大型项目的维护是非常困难。有了ioc之后,它可以帮助我们维护对象与对象之间的关系,降低耦合度。
说到ioc就不得不提到di,di就是依赖注入,它是ioc的实现方式,也就是说ioc是通过di实现的。由于ioc这个词汇更加抽象而di却更加具体,我们一般也用di来代替ioc。而实现依赖注入的核心是ioc容器,它本质是一个工厂。
aop是面向切面编程,这是对oop的有一种补充,它可以在oop的基础上进一步提高编程效率,简单来说它可以统一解决一批组件的共性需求如(日志记录,事务管理,权限检查)在aop的思想下,我们可以将这些业务代码独立起来,然后通过配置的方式,声明这些代码应该在什么时候,什么地方调用。当满足调用条件时,aop会将该业务代码植入到相应的位置,从而统一解决了问题,又不需要修改代码