核心组件

  1. Core 
  2. Context
  3. Beans。

其中最核心的组件就是Beans;

最核心的功能就是BeanFactory;

Spring解决了最核心的问题

把对象之间的依赖关系转为用配置文件来管理,也就是Spring的依赖注入机制。这个注入机制是在IOC容器中进行管理的

注: SpringBean的创建采用典型的工厂模式,他们的顶级接口是BeanFactory。

Spring主要核心是详细

  1. 控制反转(IOC):在以前传统的Java开发模式中,当需要一个对象时我们,我们会自己使用new或者getInstance等直接或者间接调用构造方法创建一个对象,而在Spring开发模式中,Spring容器使用工厂模式为我们创建了所需要的对象,我们使用时不需要自己去创建,直接调用Spring为我们提供的对象即可,这就是控制反转的思想。实例化一个Java对象有三种方式:使用类构造器,使用静态工厂方法,使用实例工厂方法。当使用Spring时我们就不需要关心通过何种方式实例化一个对象,Spring通过控制反转机制自动为我们实例化一个对象。
  2. 依赖注入(DI):Spring使用JavaBean对象的Set方法或者带参数的构造方法为我们在创建所需对象时将其属性自动设置所需要的值的过程就是依赖注入的基本思想。
  3. 面向切面编程(AOP):在面向对象编程(OOP)思想中,我们将事物纵向抽象成一个个的对象。而在面向切面编程中,我们将一个个对象某些类似的方面横向抽象成一个切面,对这个切面进行一些如权限验证,事物管理,记录日志等公用操作处理的过程就是面向切面编程的思想。

使用Spring的目的

就是让对象与对象或者模块与模块之间的关系没有通过代码关联,都是通过配置类说明管理的(Spring根据这些配置内部通过反射去动态的组装对象)

 

控制反转和依赖注入

控制反转(Inverse Of Control): 当某个角色需要调用另一个角色的协助时,在传传统的程序设计过程中,通常由调用者在创建被调用者的实例。如果创建被调用者实例的工作不再由调用者来完成,而是由外部容器完成。

依赖注入(Dependence injection):创建被调用者实例的工作通常由外部容器来完成,然后注入调用者,因此也称为依赖注入。