一、IoC(控制反转):
1.组略理解:loC是指在程序开发中,实例的创建不再由调用者管理,而是由Spring容器创建。Spring 容器会负责控制对象的生命周期和对象间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了Spring容器中,控制权发生了反转,这就是Spring的loC思想。
2.Spring中IoC的两种容器表示:
(1)BeanFactory:BeanFactory是基础类型的loC容器,它由org.springframework.beans.facytory.BeanFactory 接口定义,并提供了完整的loC服务支持。简单来说,BeanFactory 就是一个管理 Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法。BeanFactory 可以理解为就是个 HashMap,Key 是 BeanName,Value 是 Bean 实例,通常只提供注册(put),获取(get)这两个功能。
(2)ApplicationContext:ApplicationContext是BeanFactory的子接口,他继承了多个接口,比 BeanFactory 多了更多的功能,被称为应用上下文, 代表着整个大容器的所有功能。该接口定义了一个 refresh 方法,用于刷新整个容器,即重新加载/刷新所有的 bean。该接口的全路径为org.springframework.context.ApplicationContext,它不仅提供了BeanFactory 的所有功能,还添加了对i18n(国际化)、 资源访问、事件传播等方面的良好支持。ApplicationContext接口有两个常用的实现类:
1)ClassPathXmlApplicationContext
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(String configLocation);
2) FileSystemXmlApplicationContext
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(String configLocation)
二、Spring Bean的生命周期:
1.Java中对象的的生命周期:jdk负责:创建/实例化->分配存储空间->调用构造方法初始化->使用->垃圾回收机制进行回收释放
2.Spring Bean的生命周期:
三、装配Bean:
1. 基于XML装配Bean:
学习笔记(05):轻松搞定Spring全家桶(初识篇)-控制反转IOC:基于XML装配Bean:
2.自动装配Bean:
学习笔记(08):轻松搞定Spring全家桶(初识篇)-控制反转IOC:自动装配Bean
3.基于Annotation装配Bean:
学习笔记(09):轻松搞定Spring全家桶(初识篇)-控制反转IOC:基于Annotation装配Bean