Spring IOC

Spring IOC的学习目标

Spring应用
Bean装配
Annotation注解

1.建立Spring应用的步骤:

(1)引用Spring相关的Jar文件;

(2)建立Spring的配置文件,它是一个XML文件,用于配置配置Bean的实例及依赖关系;

    一般存放在类路径中,以applicationContext.xml命名。

(3)建立Bean(实体)类,并在XML文件中注册及注入依赖;
Spring IOCSpring IOC

(4)根据配置文件建立容器实例即:BeanFactory实例;
Spring IOC

(5)通过BeanFactory获取容器中的Bean实例。
Spring IOC

2.Bean容器

BeanFactory:

最简单的容器,提供了基础的依赖注入支持。

ApplicationContext:

建立在BeanFactory基础之上,提供更丰富的功能。

Spring提供了三种类型的上下文,分别用于不同的应用环境:

ClassPathXmlApplicationContext:从类路径中加载配置文件。

FileSystemXmlApplicationContext:从文件系统加载配置文件。

XmlWebApplicationContext:从web系统中加载配置文件。

补充:绝大多数情况下建议使用ApplicationCotext;

在一些资源受限的环境,如在移动设备中,建议使用BeanFactory。

3.Bean的装配

(1)注入类型

1)set注入

需要set方法,可在配置文件里配置,也可用注解配置

注解配置:
Spring IOC

2)构造注入
Spring IOC
Spring IOC
3)简单属性注入
Spring IOC

(3)集合装配

list装配
Spring IOC

set装配
Spring IOC

map装配
Spring IOC

(4)自动装配

四种自动装配类型:

byName:寻找和属性名相同的bean,若找不到,则装不上。

byType:寻找和属性类型相同的bean,若找不到,则装不上,找到多个,抛异常。

constructor:查找和bean的构造参数一致的一个或多个bean,若找不到或找到多个抛则异常。按照参数的类型装配,与(2)相似.

autodetect:首先尝试用(3)来装配,然后使用(2)方式。不确定性的处理与(3)和(2)一致。

(5)Bean的作用域

标签中的scope属性,常见作用域:

singleton 单实例,即在整个应用程序中有一个Bean的实例。

prototype原型,每次请求获取bean时,容器都会构建新的bean实例。

以下几个为Spring2.0新加的作用域

session对应web应用时, 对应Web应用的每个会话会建立一个bean的实例。

request对应web应用时,对应Web的每个请求会建立一个bean实例。