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中,接收页面提交的数据是通过方法形参来接 ...
随机推荐
- ASP.NET 大文件上传
一 web.config 配置: 1). <system.webServer> <security> <requestFiltering> <!-- maxA ...
- FPGA学习笔记之格雷码、边沿检测、门控时钟
一.格雷码 格雷码的优点主要是进位时只有一位跳变,误码率低. 1.二进制转格雷码 我们观察下表: 二进制码 格雷码 00 00 01 01 10 11 11 10 二进制码表示为B[],格雷码表示为G ...
- Jquery使select、radio某项选中
select $("#class").find("option[value='123']").attr("selected",true); ...
- 程序员遇到BUG的解释
开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定.如何进行修复bug的过程,是值得我们好好推敲的. 我想分享 ...
- HTTP下载文件名称编码说明
HTTP下载保存文件名 下载文件需要保存的名称 在响应报文头中 Content-Disposition 响应报文头域中指定, 例如 Content-Disposition: attachment; f ...
- on-my-zsh agnoster 主题设置问题
安装Menlo-Powerline字体补丁 https://gist.github.com/qrush/1595572/raw/417a3fa36e35ca91d6d23ac96107... 然后 c ...
- Ubuntu下编译运行C#——mono tools
编译C#代码用mono-csc,直接编译成二进制可执行文件: mono-csc a.cs b.cs c.cs d.cs 如果一个工程里文件很多,可以使用通配符“*”: mono-csc *.cs
- 解决编译错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum
http://www.cnblogs.com/oymx/p/5353235.html 可以 note++打开 在格式里 选择utf-8 无bom格式编码 即可
- C++嵌套多个命名空间举例
首先在结构上是能经得起推敲的,举个例子: test.h #pragma region 嵌套多个命名空间举例 namespace Group { namespace C ...
- 关于jquery-validate验证表单
最近在做微信端的界面,一直写表单验证!一直在写表单验证!发现jquery-validate还真是好用哎,今天总结了一些: (1)required:true 必输字段(2)remote:"ch ...