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中,接收页面提交的数据是通过方法形参来接 ...
随机推荐
- JavaScript 字符 "转换
后台把一个Json类型的数据当成字符串返回到前台,但是到前台变成了下面的这个样子 "[{"name":"IE","y":72},{ ...
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- resx文件在X64位编译,提示“未能加载文件或程序集”的问题?
原文:resx文件在X64位编译,提示"未能加载文件或程序集"的问题? resx文件在X64位编译,提示"未能加载文件或程序集"的问题? 解答: 错误现象如下 ...
- ng-bind-html 的原素没有高度
angularjs里绑定html元素,在页面的div里使用ng-bind-html <!-- html--> <div class="info" ng-bind- ...
- .Net分布式架构(二):基于Redis的Session共享
一:Session简介 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台web服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台web服务器建立连 ...
- 【转】PowerShell入门(七):管道——在命令行上编程
转至:http://www.cnblogs.com/ceachy/archive/2013/02/22/PowerShell_Pipeline.html 管道对于Shell来说是个化腐朽为神奇的东西, ...
- eclipse 设置jsp页面为HTML5
window-preferences-web-jspFiles-Editor-Templates-jsp with html... 然后修改为<!DOCTYPE html>就行了
- SQL获取第一次出现指定字符前的内容
update Food set FoodTitle=cast(SUBSTRING(FoodTitle,0,PATINDEX('%的%',FoodTitle)) as nvarchar),FoodCod ...
- HDU 5688:2016"百度之星" - 资格赛 Problem D
原文链接:https://www.dreamwings.cn/hdu5688/2650.html Problem D Time Limit: 2000/1000 MS (Java/Others) ...
- php 全角半角转换
<?phpheader("Content-type: text/html; charset=utf-8");// 第一个参数:传入要转换的字符串// 第二个参数:取0,半角转 ...