Spring - 2.Beans
Bean介绍
JavaBeans指的是Java中的一种类,名称的含义是可重用程序组件,通常这些类包含无参构造器、一系列private的属性字段、一系列public的getter和setter方法,Bean常用于封装数据及序列化中。而Spring的核心特性之一就是基于JavaBeans和依赖注入的组件管理。
Beans标签
1 |
|
在我们如上创建好配置文件后,可以在里面设置bean,将其绑定到实体类中
1 | <beans> |
获取Bean
我们需要通过 ClassPathXmlApplicationContext
这个Bean工厂类来读取配置文件并获取Bean,如:
1 | ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml"); |
要注意,getBean返回的是一个Object对象,需要进行类型转换
Bean标签的常用属性
class
这个bean绑定实体类的全限定名
id
bean的唯一标识符,在调用bean(如getBeans或者SpEL调用)时用于区分
name
bean可以有多个name,也可以多个bean有相同的name,在调用bean时优先返回后面的bean
scope
指定bean的生成模式,常用的有两种:
- singleton:单例模式,在ApplicationContext读取配置文件时创建bean对象,不论调用几次getBean永远只会返回同一个bean对象
- prototype:原型模式,在调用getBean时创建bean对象,且每次调用getBean都会创建并返回一个新的bean对象
lazy-init
默认为false,当lazy-init设置为true时,即便scope指定bean为单例模式(即singleton),bean对象也会在调用的时候才创建,即懒汉模式
method
init-method
- 可以传入一个空参方法,在bean进行初始化时自动调用该方法
destroy-method
- 可以传入一个空参方法,在容器关闭(即对ApplicationContext调用close方法)时自动调用该方法
Comments