在Spring 家族中包含许多方面的内容,本文所指的 Spring 框架主要是指 Spring Framework
官方文档:中文版地址
spring项目搭建
spring依赖注入
spring AOP使用
spring中常用注解
spring中常用类库
spring加载配置文件
Spring 框架概述:
框架特点:
框架核心内容:
Spring框架还可以整合大量其他框架如Mybatis、Spring MVC 等。
核心概念:
IOC:控制反转
- 使用对象时,将原本由程序主动 new 产生对象的方式,变更为由 Spring 的 IOC容器来进行提供,将程序中对象的控制权由程序本身转移到了外部,由此称之为 控制反转
DI:依赖注入
- 对于IOC容器中的对象,如果相互之间存在依赖关系,则可以将这种依赖关系也交给IOC容器去处理,使用者只用去获取自己想要的对象,与此对象相关的关系都可以交由IOC容器去处理。
基础原理:
IOC容器的概念
BeanFactory 接口
Bean工厂,是spring中IOC容器的基本实现,用于实现对Bean对象加载注册以及请求分发功能。
BeanFactory是spring框架的基础设施,面向spring本身。
主要实现类:
DefaultListableBeanFactory:BeanFactory的默认实现类,用来根据根BeanDefinition对象创建和管理Bean对象,支持单例、原型和工厂方法等模式。
ApplicationContext 接口
应用程序上下文,也可以说是spring中的一个高级IOC容器,继承了BeanFactory接口,是其的子接口。
它建立在BeanFactory的基础上,提供了更多面向应用的功能,主要面向spring框架的使用者
常用实现类:
- ClassPathXmlApplicationContext:从类路径下加载XML配置文件,创建应用上下文。
- FileSystemXmlApplicationContext:从文件系统或URL加载XML配置文件,创建应用上下文。
- AnnotationConfigApplicationContext:从注解类中加载配置信息,创建应用上下文。
IOC容器的初始化流程
IOC容器的初始化过程
Bean对象的加载流程
spring中Bean的加载流程
spring循环依赖的处理