Spring是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架。
所谓控制反转就是把控制权交出去,在使用的过程中得到这样的对象,通过IOc可以实现松耦合的目的。
面向切面编程,分离应用的业务逻辑和系统服务。进行内聚性的开发。
Spring包含并管理对象的配置和生命周期,这个意义上而言它是一种容器。
所有的对象在spring里面都称之为bean.
Ioc:
控制反转:控制权的转移,应用程序本身并不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,即就是当我们需要一个对象的时候,我们不是显示的直接去new一个,而是去向外部容器去申请一个或者拿一个。
D1:依赖注入是一控制反转的一种实现方式,ioc的目的是创建对象并且组装对象之间的依赖关系,
目的;创建对象并且封装对象之间的关系。
ioc在初始化的时候会创建一系列的对象,同时它能够把对象之间的这种依赖关系通过注入的方式组织起来,比如当一个类A里面包含一个类B,在实例化的时候,我们首先要实例化处A这个对象,再实例化出B,然后把B的对象赋值给A,
======================
ioc的核心思想是获得赖i对象的过程被反转了,控制被反转后,获得依赖对象的过程由自身管理变成了由ioc容器主动注入,因而ioc又一个更加合适的的名字,----依赖注入。
所谓注入,就是在IOC容器在运行期间,动态的将某种依赖关系注入到对象之中,
Ioc房屋中介:
房屋中介: vs Ioc
1.找中介 1.找Ioc容器
2.中介介绍房子 2.容器返回对象
3.租房,入住。 3.使用对象
另外spring对于bean和整个spring的配置有两种方式:
1.一种是基于xml的配置,
2.另一种是基于注解