Spring Bean 定义
转载自 Spring Bean 定义
Bean 定义
被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的。bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。这些 bean 是由用容器提供的配置元数据创建的,例如,已经在先前章节看到的,在 XML 的表单中的 定义。
bean 定义包含称为配置元数据的信息,下述容器也需要知道配置元数据:
如何创建一个 bean
bean 的生命周期的详细信息
- bean 的依赖关系
上述所有的配置元数据转换成一组构成每个 bean 定义的下列属性。
属性 | 描述 |
---|---|
class | 这个属性是强制性的,并且指定用来创建 bean 的 bean 类。 |
name | 这个属性指定唯一的 bean 标识符。在基于 XML 的配置元数据中,你可以使用 ID 和/或 name 属性来指定 bean 标识符。 |
scope | 这个属性指定由特定的 bean 定义创建的对象的作用域,它将会在 bean 作用域的章节中进行讨论。 |
constructor-arg | 它是用来注入依赖关系的,并会在接下来的章节中进行讨论。 |
properties | 它是用来注入依赖关系的,并会在接下来的章节中进行讨论。 |
autowiring mode | 它是用来注入依赖关系的,并会在接下来的章节中进行讨论。 |
lazy-initialization mode | 延迟初始化的 bean 告诉 IoC 容器在它第一次被请求时,而不是在启动时去创建一个 bean 实例。 |
initialization 方法 | 在 bean 的所有必需的属性被容器设置之后,调用回调方法。它将会在 bean 的生命周期章节中进行讨论。 |
destruction 方法 | 当包含该 bean 的容器被销毁时,使用回调方法。它将会在 bean 的生命周期章节中进行讨论。 |
Spring 配置元数据
Spring IoC 容器完全由实际编写的配置元数据的格式解耦。有下面三个重要的方法把配置元数据提供给 Spring 容器:
基于 XML 的配置文件。
基于注解的配置
- 基于 Java 的配置
你已经看到了如何把基于 XML 的配置元数据提供给容器,但是让我们看看另一个基于 XML 配置文件的例子,这个配置文件中有不同的 bean 定义,包括延迟初始化,初始化方法和销毁方法的:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!-- A simple bean definition --><bean id="..." class="..."><!-- collaborators and configuration for this bean go here --></bean><!-- A bean definition with lazy init set on --><bean id="..." class="..." lazy-init="true"><!-- collaborators and configuration for this bean go here --></bean><!-- A bean definition with initialization method --><bean id="..." class="..." init-method="..."><!-- collaborators and configuration for this bean go here --></bean><!-- A bean definition with destruction method --><bean id="..." class="..." destroy-method="..."><!-- collaborators and configuration for this bean go here --></bean><!-- more bean definitions go here --></beans>
你可以查看 Spring Hello World 实例 来理解如何定义,配置和创建 Spring Beans。
关于基于注解的配置将在一个单独的章节中进行讨论。刻意把它保留在一个单独的章节,是因为我想让你在开始使用注解和 Spring 依赖注入编程之前,能掌握一些其他重要的 Spring 概念。
Spring Bean 定义相关推荐
- Spring Bean 定义继承
转载自 Spring Bean 定义继承 Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的 ...
- 【Spring】Spring Bean 定义继承
Spring Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定 ...
- Spring Bean的继承
bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定义可以根据需要重写一些值,或者添加 ...
- Spring-Boot 2.1.x和主要的bean定义
我最近将应用程序从Spring Boot 1.5.X迁移到Spring Boot 2.X ,发现覆盖Spring Bean定义存在问题. 其中一种配置是在Kotlin中遵循的: @Configurat ...
- Spring Bean详解
Spring bean是Spring框架在运行时管理的对象.Spring bean是任何Spring应用程序的基本构建块.你编写的大多数应用程序逻辑代码都将放在Spring bean中. Spring ...
- 我该如何学习spring源码以及解析bean定义的注册
如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...
- spring的bean定义真的和顺序无关?
http://narcissusoyf.iteye.com/blog/705511 在使用Ibatis的时候,如果某个sql的定义出现在引用sql的定义之后的话,笨笨的ibatis是会报错的..这让用 ...
- bean定义的继承 - Spring Framework reference 2.0.5 参考手册中文版
http://doc.javanb.com/spring-framework-reference-zh-2-0-5/ch03s06.html 3.6. bean定义的继承 在bean定义中包含了大量的 ...
- 零配置 之 Spring注解实现Bean定义
转载自 零配置 之 12.3 注解实现Bean定义 --跟我学spring3 12.3 注解实现Bean定义 12.3.1 概述 前边介绍的Bean定义全是基于XML方式定义配置元数据,且在[1 ...
最新文章
- 十三、java_GUI
- 【MM模块】Contract 采购合同简介
- 运算符重载(c++细节篇二)
- hdu5455(2015沈阳网络赛F题)
- c#中设计器中窗体释放 protected override void Dispose(bool disposing)改写解决部分窗体线程释放不彻底问题
- 【渝粤教育】国家开放大学2019年春季 1018国际公法 参考试题
- Spring的@Autowired和@Resource
- 38 WM配置-作业-定义库存转储和补充控制
- Hadoop namenode无法启动问题解决
- xshell 无法定位输入点_机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划...
- Java web server 之 Jetty
- 参考文献的序号怎么对齐_word序号对齐方式 word中如何让编号自动对齐
- 【DeepLearning】【环境配置】Ubuntu 下手动调节 Nvidia 显卡风扇转速
- 《Automation in Construction》期刊介绍(SCI 2区)
- HTML网上书店静态HTML网页作业作品 大学生三联书店网页设计制作成品 简单DIV CSS布局网站...
- 美国依靠美元霸权, 是如何收割世界财富的?
- JAVA 环境配置JDK
- E - 切绳子(二分)
- 美团架构师精心整理Netty实战,墙裂推荐Netty实战实践学习文档
- 四大名著红楼梦第三回 贾雨村夤缘复旧职 林黛玉抛父进京都
热门文章
- C++实现拓扑排序(vector模拟邻接表存储,栈实现)
- 素数-试除法和埃式筛选法模板
- 天梯赛模拟 链表去重 (25 分)
- java 先进先出的map_「 深入浅出 」java集合Collection和Map
- python做接口自动化如何输出测试报告-python生成接口自动化测试报告模版
- 牛客题霸 [反转字符串] C++题解/答案
- C++顺序创建txt文件
- POJ1236 Network of Schools
- 货车运输(洛谷P1967)(倍增)
- 不止代码:乘法游戏 题解(区间dp)