Spring Bean定义
【摘要】 Bean 由Spring IoC容器管理的对象称为Bean,Bean根据Spring配置文件中的信息创建。 把Spring IoC容器看做一个工厂,Bean是工厂的产品.如果希望工厂生产和管理Bean,就要告诉容器需要哪些Bean,以哪种方式装配。 Spring配置文件支持两种格式:XML文件格式和Properties文件格式properties配置...
Bean
由Spring IoC容器管理的对象称为Bean,Bean根据Spring配置文件中的信息创建。
把Spring IoC容器看做一个工厂,Bean是工厂的产品.如果希望工厂生产和管理Bean,就要告诉容器需要哪些Bean,以哪种方式装配。
Spring配置文件支持两种格式:XML文件格式和Properties文件格式
- properties配置文件主要以key-value键值对形式存在,只能赋值,不能进行其他操作,适用于简单的属性配置。
- XML配置文件采用树形结构,结构清晰,相较于Properties文件更加灵活,但是XML配置比较繁琐,适用于大型的复杂的项目
通常情况下,Spring的配置文件都是使用XML格式的。XML配置文件的根元素是<beans>。每一个<bean>元素都应一乐一个Bean,并描述了改Bean是如何被装配到Spring容器中的。
<bean>元素中可以包含多个属性或子元素:
属性名称 | 描述 |
---|---|
id | Bean 的唯一标识符,Spring IoC 容器对 Bean 的配置和管理都通过该属性完成。id 的值必须以字母开始,可以使用字母、数字、 下划线等符号。 |
name | 该属性表示 Bean 的名称,我们可以通过 name 属性为同一个 Bean 同时指定多个名称,每个名称之间用逗号或分号隔开。Spring 容器可以通过 name 属性配置和管理容器中的 Bean。 |
class | 该属性指定了 Bean 的具体实现类,它必须是一个完整的类名,即类的全限定名。 |
scope | 表示 Bean 的作用域,属性值可以为 singleton(单例)、prototype(原型)、request、session 和 global Session。默认值是 singleton。 |
constructor-arg | <bean> 元素的子元素,我们可以通过该元素,将构造参数传入,以实现 Bean 的实例化。该元素的 index 属性指定构造参数的序号(从 0 开始),type 属性指定构造参数的类型。 |
property | <bean>元素的子元素,用于调用 Bean 实例中的 setter 方法对属性进行赋值,从而完成属性的注入。该元素的 name 属性用于指定 Bean 实例中相应的属性名。 |
ref | <property> 和 <constructor-arg> 等元素的子元索,用于指定对某个 Bean 实例的引用,即 <bean> 元素中的 id 或 name 属性。 |
value | <property> 和 <constractor-arg> 等元素的子元素,用于直接指定一个常量值。 |
list | 用于封装 List 或数组类型的属性注入。 |
set | 用于封装 Set 类型的属性注入。 |
map | 用于封装 Map 类型的属性注入。 |
entry | <map> 元素的子元素,用于设置一个键值对。其 key 属性指定字符串类型的键值,ref 或 value 子元素指定其值。 |
init-method | 容器加载 Bean 时调用该方法,类似于 Servlet 中的 init() 方法 |
destroy-method | 容器删除 Bean 时调用该方法,类似于 Servlet 中的 destroy() 方法。该方法只在 scope=singleton 时有效 |
lazy-init | 懒加载,值为 true,容器在首次请求时才会创建 Bean 实例;值为 false,容器在启动时创建 Bean 实例。该方法只在 scope=singleton 时有效 |
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)