一、spring的配置
1. Bean元素:使用该元素描述需要spring容器管理的对象
- class属性:被管理对象的完整类名
- name属性*:被管理的对象起个名字,获得对象时根据该名称获得的对象,可以 重复,可以时使用特殊字符
- id属性:与name属性一模一样,名称不可重复,不能使用特殊字符.
2. 创建元素的三种方式:空参构造方法,静态工厂(了解),实例工厂(了解)。
-
空参构造方法:
结果:
-
静态工厂(了解):
创建UserFactory:
配置xml文件:
结果:
-
实例工厂(了解):
创建实例工厂:
配置实例工厂:
结果:
3.Bean元素的进阶: -
singleton(默认):
单例对象,被标示为单例的对象在spring容器中止会存在一个实例
-
prototype(重点):
多例原型,别表示为多例的对象,每次再获得才会创建,每次创建都是新的对象,整合strust2时,ActionBean必须配置。
-
request(了解):
web环境下,对象与request生命周期一致
-
session(了解):
web环境下,对象与seeion生命周期一致
生命周期属性:
- init-method -> 配置一个方法作为生命周期初始化方法,spring会在对象创建之后立即调用
- destory-method -> 配置一个方法作为生命周期的销毁方法,spring容器在关闭并销毁所有容器中的对象之前调用
二、spring属性注入
-
set方法注入:值类型注入用value,引用类型注入用ref
创建一个Car的javabean:
将car添加到user中:
配置:
结果(记得更改一下xml的文件配置路径):
-
构造函数注入:
配置xml文件:
结果:
name: 构造函数的参数名
index:构造函数的参数索引
type: 构造函数的参数类型 -
p名称空间注入:
导入P名称空间:
配置文件:
结果:
- spel注入: spring expression language -> spring表达式语言
配置: