Spring <bean> 参数意义
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> 参数意义的更多相关文章
- Spring(3)——装配 Spring Bean 详解
装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 Appl ...
- spring bean自动注入
使用 @Repository.@Service.@Controller 和 @Component 将类标识为 Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的 ...
- Spring Bean装配详解(五)
装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 Appl ...
- 想减少代码量,快设置一个有感知的 Aware Spring Bean
摘要:正常情况下,Spring 中的 Bean 对 Spring 是无感知的,Spring 框架提供了这种扩展能力,能让一个 bean 成为有感知的. 本文分享自华为云社区<有感知的 Aware ...
- Spring8:一些常用的Spring Bean扩展接口
前言 Spring是一款非常强大的框架,可以说是几乎所有的企业级Java项目使用了Spring,而Bean又是Spring框架的核心. Spring框架运用了非常多的设计模式,从整体上看,它的设计严格 ...
- Spring Bean详细讲解
什么是Bean? Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象. Spring 容器会自动完成@bean对象的实例化. 创建应用对象之间的协作关系的行为称为:装配( ...
- Spring Bean的生命周期(非常详细)
Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...
- 【转】Spring bean处理——回调函数
Spring bean处理——回调函数 Spring中定义了三个可以用来对Spring bean或生成bean的BeanFactory进行处理的接口,InitializingBean.BeanPost ...
- spring mvc参数绑定
spring绑定参数的过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接 ...
随机推荐
- fbset 移植
手头上的文件系统的fbset有问题,所以就自己从新移植一个到开发板上. 参考链接 http://blog.chinaunix.net/uid-20768928-id-5748009.html 下载地址 ...
- c#:浅克隆和深克隆,序列化和反序列化
一.浅克隆和深克隆(浅复制和深复制)浅克隆和深克隆最典型的应用是数据集对象DataSet的Clone和Copy方法.Clone()方法用来复制DataSet的结构,但是不复制DataSet的数据,实现 ...
- 分享:一款前端布局工具(alloydesigner)
困扰 设计师给出静态的高保真图片, 需要前端工程师按照高保真图,进行html编码. 前端工程师, 一般工作方法为: 打开图片,一边看下图片, 一边编写相应的html代码. 这样有两个问题: 1. 前端 ...
- [推荐] WordPress主题使用Google Fonts字体访问不了的解决办法
外国人做的WordPress主题喜欢带上Google的字体,但到了咱天朝是没法访问fonts.googleapis.com的 现有数字公司出的公共资源库可以替换,把fonts.googleapis.c ...
- JavaScript模块化开发整理
在网上已经有很多关于模块化开发的文章了,这里还是按照自己的理解来整理一下. 随着项目文件的越来越大和需求的越来越贴近现实(我发现现在客户不如:一个领导说我要审批你们报上来的资料,系统发布以后用的还不错 ...
- Java中String类的方法及说明
String : 字符串类型 一. String sc_sub = new String(c,3,2); // String sb_copy = new String(sb) ...
- Design and Analysis of Algorithms_Introduction
I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis ...
- wampserver---------如何让局域网其他电脑访问我的apache
wamp版本:wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 修改方式,看图:修改完记得重启.
- C++复现经典游戏——扫雷
国庆小长假,当大家都去看人山人海的时候,我独自一人狂码代码.这两天想要实现的内容是Windows上的一个经典游戏——扫雷.相信90后和一些上班族对此并不陌生.然而,从win8开始,扫雷就不再是Wind ...
- 7.$a = 'abcdef'; 请取出$a的值并打印出第一个字母
echo $a[0]; echo $a{0}; echo chr(ord($a));//先输出$a字符串里的第一个字符的ASCII值 再从指定的 ASCII 值返回字符.