IOC控制反转
概念
作用:用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统(工厂模式)内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
Spring 基于 XML 的 IOC
BeanFactory 和 ApplicationContext 的区别:
-
BeanFactory 才是 Spring 容器中的顶层接口;
ApplicationContext 是它的子接口。
-
创建对象时间不同:
ApplicationContext: 只要一读取配置文件,默认情况下就会创建对象。
BeanFactory: 什么使用什么时候创建对象。
bean
bean 是一个被实例化、组装,并通过 Spring IoC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的。
作用:配置对象让 spring 来创建(默认情况下它调用的是类中的无参构造函数。如果没有无参构造函数则不能创建成功。)
属性:
- id:给对象在容器中提供一个唯一标识。用于获取对象。
- class:指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数。
- scope:指定对象的作用范围。
-
singleton :默认值,单例的.
-
prototype :多例的.
-
request :WEB项目中,Spring创建一个Bean的对象,将对象存入到request域中.
-
session :WEB项目中,Spring创建一个Bean的对象,将对象存入到session域中.
-
global session :WEB项目中,应用在Portlet环境.如果没有Portlet环境那么globalSession 相当于 session.
-
- init-method:指定类中的初始化方法名称。</