一 . 概述
spring作为当前jee下的事实标准有很有非常好的特性,其核心就是IOC和AOP.
以此为基础可以整合ORM,WEB,MQ等技术,因此可以说spring能帮助我们在开发中的方方面面.
二 .IOC与AOP
IOC : 在spring中体现为对Bean的创建和依赖的管理.
在我们的应用之中,几乎所有的业务组件都可以称为Bean,因此创建和管理Bean是我们开发中最为复杂的一部分.
IOC就能帮助我们解决这个问题,助我们创建我们想要的Bean,并且将依赖注入到该Bean之中.
完成这件事的就是IOC容器,spring使用容器来管理这一切,我们的业务组件都托管到IOC容器之中.
AOP : 当我们的业务组件托管到IOC之中,容器就控制了Bean的生命周期,因此我们可以轻易的使用动态代理的方式完成业务解耦.
AOP就是面向切面编程,就是将系统业务和业务代码分离和织入的一种手段.
正是因为AOP不好理解,spring这个一个特性我们的开发人员就很少使用,因此容器带来的好处就很大一部分丢失掉,但是使用AOP真的很简单,
但是理解概念确实最为重要的一方面.
三. 整合
我们开发人员最常见的就是spring整合各种框架,在这里我不想多说.
因为我们只要理解了IOC和AOP就能明白spring整合的原理,当遇到问题的时候也能分析出问题来,否则spring就相当于没学,
仅仅停留在使用的层次上.
四 .spring架构
我们从上面的图中可以看到,IOC是最底层,然后AOP使用IOC实现,然后就是spring整合其它的组件.
后面的内容,我们就按照这个层次完成.