天天看点

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

一、IOC概述

控制反转(IOC)是面向对象编程中的一种设计原则,可以用来减少计算机代码之间的耦合度。本质上是把对象创建和对象之间的调用关系交给Spring来进行管理。

二、IOC底层原理

xml解析、工厂模式、反射

1.原始方式(这种方式耦合度太高了~)

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

2.工厂模式(将对象的创建权利移交给统一的工厂类处理)

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

3.反射

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

总结:IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

三.Spring中IOC的实现

    • Spring中IOC容器实现的两种方式

(1)BeanFactory:IOC容器的基本实现,是Spring内部的使用接口,不提供开发人员进行使用

*它在加载配置文件时不会创建对象,在使用时才会去创建对象

(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员使用

*加载配置文件时候就会把配置文件对象进行创建

    • IOC中的Bean管理

Spring中Bean主要分为两类:

(1)普通Bean:在配置文件中定义bean类型就是返回类型

(2)工厂Bean:在配置文件中定义bean类型可以和返回类型不一样(实现接口FactoryBean,实现方法定义返回的Bean类型)

这些Bean的作用域分为四种:单实例(singleton)、多实例(prototype)、request(请求)、session(会话)

Bean的生命周期:

(1)通过构造器创建Bean实例(无参数构造)

(2)为Bean的属性设置值和对其他Bean引用(调用Set方法)

(3)调用Bean的初始化方法

(4)bean可以使用了

(5)容器关闭时,调用bean的销毁方法

Spring中注解方式注入:

(1)@Autowired:根据属性类型进行自动装配

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

(2)@Qualifier:根据属性名称进行自动装配

(3)@Resource:可以根据类型,可以根据名称注入

IOC简述一、IOC概述二、IOC底层原理三.Spring中IOC的实现

(4)@Value:注入普通属性