Spring IOC的学习目标
Spring应用
Bean装配
Annotation注解
1.建立Spring应用的步骤:
(1)引用Spring相关的Jar文件;
(2)建立Spring的配置文件,它是一个XML文件,用于配置配置Bean的实例及依赖关系;
一般存放在类路径中,以applicationContext.xml命名。
(3)建立Bean(实体)类,并在XML文件中注册及注入依赖;
(4)根据配置文件建立容器实例即:BeanFactory实例;
(5)通过BeanFactory获取容器中的Bean实例。
2.Bean容器
BeanFactory:
最简单的容器,提供了基础的依赖注入支持。
ApplicationContext:
建立在BeanFactory基础之上,提供更丰富的功能。
Spring提供了三种类型的上下文,分别用于不同的应用环境:
ClassPathXmlApplicationContext:从类路径中加载配置文件。
FileSystemXmlApplicationContext:从文件系统加载配置文件。
XmlWebApplicationContext:从web系统中加载配置文件。
补充:绝大多数情况下建议使用ApplicationCotext;
在一些资源受限的环境,如在移动设备中,建议使用BeanFactory。
3.Bean的装配
(1)注入类型
1)set注入
需要set方法,可在配置文件里配置,也可用注解配置
注解配置:
2)构造注入
3)简单属性注入
(3)集合装配
list装配
set装配
map装配
(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实例。