1 Spring定义
2 Spring核心
Spring指的是Spring Framework,通常我们称之为Spring框架。
Spring的两个核心模块
ioC控制反转
inverse of Control的简写,为控制反转,指把创建对象交给Spring进行管理
即:反转资源获取方向,把自己创建资源、向环境索取资源的方式变为环境自动将资源准备好,我们享受资源注入。
AOP面向切面编程
Aspect Oriented Programming 的简写,为面向切面编程。AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块共同协调的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。
相关概念
1 IoC
ioc(Inversion of Control,控制反转)是一种编程思想
是将对象的创建和管理交由框架来完成,而不是由开发人员手动创建和管理
2 IoC容器
IoC容器是用来实现IoC思想的一个工具或者说技术手段;
它能够自动扫描应用程序中的对象,将它们实例化,并自动注入它们所需要的依赖对象;
使应用程序的开发人员能够更加专注于业务逻辑的实现,而不用关心对象的创建和管理
Spring通过IoC容器来管理所有的Java对象的实例化和初始化,控制着对象与对象之间的依赖关系。我们将由IoC容器管理的Java对象成为 Spring Bean,它与使用关键字 new 创建的Java对象没有任何区别。
3 依赖注入DI
DI(Dependency Injection):依赖注入,依赖注入实现了控制反转的思想,是指Spring创建对象的过程中,将对象依赖属性通过配置进行注入。
所以 IoC 是一种控制反转的思想,而 DI 是对 IoC 的一种具体实现。
Bean管理:指Bean对象的创建,以及Bean对象中属性的赋值
IoC容器实现
Spring中的IoC容器就是IoC思想的一个落地产品实现。IoC容器中管理的组件也叫做bean。在创建bean之前,首先需要创建IoC容器,Spring提供了IoC容器的两种实现方式
ApplicationContext的主要实现类
AnnotationConfigApplicationContext 使用注解方式构建IoC容器