IoC的含义:
把创建对象的权利,交给框架或者工厂,是框架的主要特征。是框架的重要特征,并非面向对象编程的专业术语。他包括·依赖注入和依赖查找。
作用:
消减计算机程序中的耦合(降低代码间的依赖关系)
spring的IoC
创建配置文件
然后,创建核心容器对象,调用方法,两种方法创建对象
ApplicationContext的三个实现类
补充一种:用另外的实现类创建核心容器对象(不常用)
核心容器的两个接口的问题
补充使用BeanFactory来创建核心容器对象的代码:
直到调用对象才真正创建
核心容器的两个接口:
- ApllicationContext:一般用在单例对象 (常用)
- BeanFactory:一般是多例,啥时候用啥时候见一个(顶层接口在ApllicationContext之上)
spring创建bean对象的三种方式:
1.必须要有默认的构造函数
2.如果需要创建的对象的类在jar包里
3.使用工厂中的静态方法创建对象
spring的bean对象默认是单例的
可以调整bean的作用范围
默认是单例的
global-session即:一个网址,多个不同IP的服务器,共享这个sesioon
bean对象的生命周期
注意:main方法执行后,会释放内存,这时候的容器来不得销毁,需要手动调用destroy方法
单例的生命周期和容器一样长
多例的由java负责,垃圾回收机制