在理解这3个东西之前,先了解下什么是IOC DI AOP
IOC:控制反转,应该也是一种思想,它就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
DI:依赖注入,在运行期,由外部容器动态地将依赖对象注入到组件中。
aop:面向切面编程,给我的感觉就好像是抽象类的功能,它是将围绕核心模块下面所有共有的方法或者是类似的操作,比如权限认证,操作日志,事务处理,debug处理,性能检测等等,放在一起,将核心块和通用块分开
说一下各自优点了
IOC/DI:资源整合在容器里面,统一管理,简化了对象之间的关系复杂度,降低了对象之间的耦合度
AOP:将通用代码和核心代码分离开,大大降低了代码的重复性,同时也降低了代码块之间的耦合度
使用Spring 有什么优点呢?
1.将bean资源进行配置管理,降低了组件之间耦合度
2.spring的高开放性,可以让开发人员可以选择配置部分bean或者全部bean进行管理
3.可以使用容器提供众多服务,如事务管理服务、消息服务
4.容器提供单例模式支持
5.容器提供了aop技术,利用它可以很容易实现如权限拦截,运行期监控等功能
6.Spring对于主流的应用框架提供了集成支持