1.简介:
IOC(Inversion of Control)控制反转
使一个对象通过被动的方式传递进来,而不是自己创建或者查找依赖对象;是容器主动将资源传递它所管理的对象,对象所需要做的是选择合适的方式来接受资源
DI(Dependency Injection)依赖注入
是IOC的一种表述方式 ,对象通过通过定义好的方式(setter和构造方法)来接收来自容器的资源注入
2.Spring IOC的实现方式:
BeanFactory:IOC容器的基本实现
ApplicationContext:BeanFactory的子接口
ClassPathXmlApplicationContext:从类的路径下加载文件
ConfigurableApplicationContext:ApplicaitonContext的子接口
refresh() close()
3.bean的作用域:
默认情况下,spring容器只创建唯一一个实例,默认为:scope="singleton"
singleton:一个对象在spring IOC容器中只用一个bean的实例,以单个实例存在(单例模式)
request:每次Http请求,都会创建新的bean,用于WebApplicationContext
session:在同一个httpSession请求中共享一个bean,用于WebApplicationContext
prototype:每次调用getBean()都会创建新的实例
4.Spring 依赖注入的三种方式:1:属性注入2:构造方法 3:接口