IOC(Inverse Of Control) 反转控制
DI(Dependency Injection) 依赖注入
实现IOC方法需要DI的支持
注入方法:
set方法注入
构造方法注入
字段注入
注入类型:
值类型注入(8大基本数据类型)
引用类型注入(将对象注入)
BeanFactory和ApplicationContext的区别:
BeanFactory:是在getBean时才会生成类的实例
ApplicationContext:在加载applicationContext(容器启动时)时就会创建
bean元素
使用该元素描述需要spring管理的对象
name:给被管理元素起个名字,获得对象是根据该名称获得对象,名称可以重复,并且可以使用特殊字符
class:被管理对象的完整类名
id:与name属性一模一样,名称不可重复,并且不可使用特殊字符
scope:singleton(默认值)单例对象,被标识为单例的对象在spring中只会存在一个实例
prototype多例原型,被标识为多例的对象,每次在获得时才会创建,每次创建都是新的对象(整合struts时ActionBean必须配置为多例)
request web环境下,对象与request生命周期一致
session web环境下,对象与session生命周期一致
spring中对象的创建方式
空参构造创建
spring属性注入
1>set方法注入
值类型set方法注入:
<property> 中的name元素写要注入值得属性名 value 填要注入的值
对象类型set方法注入:
ref后面填下面配置的对象名
2>构造函数注入
用constructor-arg 元素配置
index指定第一个参数的索引
type指定第一个参数的类型
复杂类型注入: