声明:这是转载的
方便自己学习用!
来源地址:http://wjuan222-gmail-com.iteye.com/blog/760827
属性名 |
作用 |
可选值 |
默认值 |
是否必选 |
Id |
命名 bean |
|
|
必选 |
Class |
实例化的类 |
|
|
必选 |
Factory-method |
指定工厂方法 |
|
|
可选 |
Factory-bean |
指定工厂类 |
|
|
可选 |
Scope |
Bean 的作用域 |
Singleton | prototype | request | session | global session |
Singleton |
可选 |
Lazy-int |
延迟初始化 bean |
True|false|default |
Default |
可选 |
Init-method |
初始化回调 |
|
|
可选 |
Destroy-method |
析构回调 |
|
|
可选 |
Parent |
继承 bean |
|
|
可选 |
id 属性:命名 bean
id 在当前 ioc 容器中必须唯一。
class 属性:指定类名
大多数情况下,容器将直接通过反射调用指定类的构造器来创建 bean ,在极少情况下,容器将调用类的静态工厂方法来创建 bean 实例, class 属性将用来指定实际具有静态工厂方法的类
factory-method 属性:指定工厂方法
指定的是工厂方法
scope 属性:设置 bean 作用域
singleton : spring ioc 容器中只会存在一个共享的 bean 实例,每次请求返回 bean 的同一实例
prototype :每次对该 bean 请求时都会创建一个新的 bean 实例。根据经验:对于所有有状态的 bean 应该使用prototype 作用域,而对无状态的 bean 则应该使用 singletom 作用域
request :在一次 HTTP 请求中,一个 bean 定义对应一个实例。
session :在一个 HTTP session 中,一个 bean 定义对应一个实例。
global session :在一个全局的 HTTP session 中,一个 bean 定义对应一个实例。
depends-on 属性:指定依赖 bean
表示初始化 bean 之前强制一个或者多个 bean 被初始化。
lazy-int 属性:延迟初始化 bean
在默认的情况下, applicationContext 会在系统启动时实例化所有的 singleton bean ,但是可以通过lazy-init 将 bean 设置为延迟实例化。
init-method 属性:初始化回调
在实例化一个 bean 时,可能需要进行相关的初始化工作。使用 init-method 属性指定一个普通的初始化方法。
destroy-method 属性:析构回调
在 bean 被释放回收时,可以通过 destroy-method 属性来指定一个析构函数。
parent 属性:继承 bean
通过 <property> 实现
1 . 直接使用 value 属性来表示
Resource
Resource template = ctx.getResource("some/resource/path/myTemplate.txt");
or
Resource template = ctx.getResource("classpath:some/resource/path/myTemplate.txt");
ClassPathXmlApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext("conf/appContext.xml");
FileSystemXmlApplicationContext
ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/appContext.xml");