1.id

bean的唯一标识,

2.class

类的完全限定名,

3.parent

父类bean定义的名字。

如果没有任何声明,会使用父bean,但是也可以重写父类。重写父类时,子bean 必须与父bean 兼容,也就是说,

接受父类的属性值和构造器声明的值。

子bean会继承父bean的构造器声明的值,属性值,并且重写父bean的方法。如果init方法,destroy方法已声明,

他们会覆盖父bean相应的设置。

  保留的设置会直接从子bean获取,包括depends on,autowire mode,scope,lazy init.

4.abstract

声明bean是否是抽象的,决定该类是否会实例化。默认是false。

注意:abstract属性不会被子bean继承,所以,abstract为true时需要对每个bean显示声明。

5.lazy-init

决定是否延迟实例化,如果为false,则启动时会立即实例化单例模式的bean.默认是false。

注意:lazy-init属性不会被子bean继承。

6.autowire

决定是否自动装配bean的属性。

autowire有4中模式:

  • "no"

    Spring默认的模式。bean的引用必须在XML文件中通过<ref/>元素或ref属性显示定义。

    spring推荐使用的模式,这样可以使文档更清晰明确。

  • "byName"

    通过属性名使用自动装配。如果一个Cat类拥有一个dog属性,那么Spring会根据名字dog

    去寻找bean,如果没有找到bean,则不会自动装配。

  • "byType"

    如果Spring容器只有该属性类型的一个bean,会自动装配。当有多个该属性类型的bean时

    会报错。如果没有,则不会自动装配。

  • "constructor"

    针对构造器引用,和byType类似。

注意:autowire属性不会被子bean继承。

7.depends-on

该bean初始化时依赖的其他bean的名字,bean工厂确保其他bean在该bean之前完成初始化。

注意:依赖项一般通过bean属性或构造器声明,这个属性对其他依赖(如静态类或启动阶段数据库的准备)是必要的。

注意:depends-on属性不会被子bean继承。

8.scope

scope属性值有四种: singleton,prototype,request,session

singleton:单例模式,默认选项

prototype:非单例模式

request:对于web应用,每一个请求产生一个新的实例

session:对于web应用,一个session产生一个实例

本人水平有限,如果有误,还请指正。

还有几个选项,需要请自行查看文档。

9.autowire-candidate

10.primary

11.init-method

12.destroy-method

13.factory-method

14.factory-bean

Spring <bean> 参数意义的更多相关文章

  1. Spring(3)——装配 Spring Bean 详解

    装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 Appl ...

  2. spring bean自动注入

    使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的 ...

  3. Spring Bean装配详解(五)

    装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 Appl ...

  4. 想减少代码量,快设置一个有感知的 Aware Spring Bean

    摘要:正常情况下,Spring 中的 Bean 对 Spring 是无感知的,Spring 框架提供了这种扩展能力,能让一个 bean 成为有感知的. 本文分享自华为云社区<有感知的 Aware ...

  5. Spring8:一些常用的Spring Bean扩展接口

    前言 Spring是一款非常强大的框架,可以说是几乎所有的企业级Java项目使用了Spring,而Bean又是Spring框架的核心. Spring框架运用了非常多的设计模式,从整体上看,它的设计严格 ...

  6. Spring Bean详细讲解

    什么是Bean? Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象. Spring 容器会自动完成@bean对象的实例化. 创建应用对象之间的协作关系的行为称为:装配( ...

  7. Spring Bean的生命周期(非常详细)

    Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...

  8. 【转】Spring bean处理——回调函数

    Spring bean处理——回调函数 Spring中定义了三个可以用来对Spring bean或生成bean的BeanFactory进行处理的接口,InitializingBean.BeanPost ...

  9. spring mvc参数绑定

    spring绑定参数的过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接 ...

随机推荐

  1. Wordpress实现站搜索

    wordpress内置的搜索表单如下 <form role="search" method="get" id="searchform" ...

  2. Linux下安装Redis3.2.4

    安装: 通过wget方式直接在linux上下载Redis $ wget http://download.redis.io/releases/redis-3.2.4.tar.gz , 默认下载到路径是r ...

  3. [LeetCode]题解(python):120 Triangle

    题目来源 https://leetcode.com/problems/triangle/ Given a triangle, find the minimum path sum from top to ...

  4. iOS 数组内中英文混合排序

    NSInteger sortObjects(id obj1, id obj2,void *context) { NSMutableString * str1 = [[NSMutableString a ...

  5. vi全局替换

    http://blog.csdn.net/vindak/article/details/7830547 vi全局替换命令

  6. JS对象之间的关系

    JS对象类型 JS中,可以将对象分为"内部对象"."宿主对象"和"自定义对象"三种. 1.本地对象 ECMA-262定义为"独立于 ...

  7. cocos2dx 3.x(场景(层)的生命周期)

    //进入当前层初第一步始化层调用 bool GameScence::init() { if( !void init() ) { returnfalse; } log("进入当前层初第一步始化 ...

  8. Java基础之在窗口中绘图——移动曲线的控制点(CurveApplet 3 moving the control points)

    Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; import javax.swing.event. ...

  9. Go 模板

    原文链接 很多语言都有很多方式将字符串从一只形式转换成另一种形式.Go 使用模板的方法通过提供一个对象作为参数来转换字符串.这个一般来讲是用来将对象插入到HTML中的,不过它同样可以用在其他的情况下. ...

  10. HDU 1258 Sum It Up

    Sum It Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...