Spring的IoC基本解释:
控制反转(Inverse of Controller)
控制反转就是通过容器来控制业务对象之间的依赖关系,而非传统的代码控制;控制权由应用代码中转到了外部容器,控制权的转移,就是反转;控制权转移带来的好处就是降低了业务对象之间的依赖程度。
Spring容器是什么呢?
一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。但有时为了行文方便,也将ApplicationContext称为spring容器
Spring容器的工作
读取Bean的配置信息,然后根据配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean(Bean的实现类),并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓冲池中,以供外层的应用程序调用。
Spring容器成功启动的三大要件是:Bean定义信息,Bean实现类以及spring本身。如果基于XML的配置,Bean定义信息和Bean实现类是分离的;而采用基于注解的配置方式时,Bean定义信息通过在Bean实现类上标注注解实现;
Bean的配置方式
有三种---基于XML配置、基于注解配置和基于Java类配置;分别适用于不同的场合;