spring-bean属性配置解析
autowire属性值有
byName 根据Bean定义时的“id"属性上指定的别名与Setter名称是否一致进行自动装配
byType 根据PoJo的setXXX()方法所接受的类型判断bean定义文件是否定义有类似的类型对象进行自动装配
constructor Spring容器比对容器中的Bean实例类型及相关的构造方法上的参数类型是否符合进行自动装配
autodetect 先进行constructor自动装配,若缺省,则进行byType自动装配
no不进行自动装配
depends-on
若A depends-on B 意思是实例化A之前必须先实例化B,但A不需要持有B的实例
abstract属性值
false默认
ture表示抽象Bean,ApplicationContext预初始化时忽略所有抽象Bean定义
parent 表示该Bean为子Bean,其值指向父Bean,重用父Bean已实现的依赖
dependency-check属性值
simple 只检查简单的属性是否完成依赖关系
objects 检查对象类型的属性是否完成依赖关系
all检查全部的属性是否完成依赖关系
none默认值,表示不检查依赖性
singleton属性值指定此Java Bean是否采用单例(Singleton)模式
false则通过BeanFactory获取此Java Bean实例时,BeanFactory每次都将创建一个新的实例返回。
true(默认) 则在BeanFactory作用范围内,只维护此Java Bean的一个实例,代码通过BeanFactory获得此Java Bean实例的引用。
init-method 初始化方法,此方法将在BeanFactory创建JavaBean实例和属性set注入之后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。
destroy-method 销毁方法。此方法将在BeanFactory销毁的时候执行,一般用于资源释放。
lazy-init属性值
true 延迟加载,也就是IoC 容器将第一次被用到时才开始实例化
false默认
factory-bean通过实例工厂方法创建bean,class属性必须为空,factory-bean属性必须指定一个bean的名字,这个bean一定要在当前的bean工厂或者父bean工厂中,并包含工厂方法。而工厂方法本身通过factory-method属性设置。
factory-method 定义工厂方法,若是class属性指向工厂类,该工厂类包含的工厂方法须是static
scope属性值
scope可以取值:
* singleton:每次调用getBean的时候返回相同的实例.这个是默认,也就是单实例
* prototype:每次调用getBean的时候返回不同的实例.这个是多实例
还可取值request、session、global session等(不常用)
具体的用法如下
<bean id="userDao" class="com.test.dao.impl.UserDAOImpl" scope="singleton"/>
<bean id="userService" class="com.test.service.impl.UserServiceImpl" scope="prototype">
<property name="userDao" ref="userDao"/>
</bean>
这个怎么需要看你具体的时机...如果你的bean是无状态的.那么单实例就可以了...如果Bean是有状态的,那么你最好设置成多实例的.因为这样可以解决线程安全问题.
id: Bean的唯一标识名。它必须是合法的XML ID,在整个XML文档中唯一。
name: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。
class: 用来定义类的全限定名(包名+类名)。只有子类Bean不用定义该属性
spring-bean属性配置解析的更多相关文章
- spring+mybaits xml配置解析----转
一.项目中spring+mybaits xml配置解析 一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能 ...
- Spring Boot 属性配置和使用
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...
- Spring Boot 属性配置和使用(转)
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...
- spring bean属性及子元素使用总结
spring bean属性及子元素使用总结 2016-08-03 00:00 97人阅读 评论(0) 收藏 举报 分类: Spring&SpringMVC(17) 版权声明:本文为博主原创 ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring Bean的配置及常用属性
作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦.这一切都离不 ...
- Sping Boot入门到实战之入门篇(三):Spring Boot属性配置
该篇为Sping Boot入门到实战系列入门篇的第三篇.介绍Spring Boot的属性配置. 传统的Spring Web应用自定义属性一般是通过添加一个demo.properties配置文件(文 ...
- Spring 中属性配置
1 注册自定义属性编辑器,方法一.使用BeanFactory, 则用户需要手动调用 registerCustomEditor(Class requiredType, PropertyEditor pr ...
- Spring Boot 属性配置&自定义属性配置
在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...
- Spring Boot属性配置&自定义属性配置
一.修改默认配置 例1.spring boot 开发web应用的时候,默认tomcat的启动端口为8080,如果需要修改默认的端口,则需要在application.properties 添加以下记录: ...
- Spring bean工厂配置头文件
命名 beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
随机推荐
- 重操JS旧业第八弹:面向对象与继承
js里面没有语言语法层面的继承机制,但这并不意味着js就不能实现继承,利用js属性和方法动态性来模拟实现继承,通过总结大概有如下方法实现: 1 原型链继承 我们知道原型在对象中扮演着重要的角色,函数本 ...
- 14.18.1 The InnoDB Recovery Process InnoDB 恢复进程:
14.18.1 The InnoDB Recovery Process InnoDB 恢复进程: InnoDB crash recovery 有几个步骤组成: 1.应用redo log,Redo lo ...
- Web前端性能优化的14条规则
1.减少Http请求 使用图片地图 使用CSS Sprites 合并JS和CSS文件 这个是由于浏览器对同一个host有并行下载的限制,http请求越多,总体下载速度越慢 2.使用CDN(内容发布网络 ...
- c#后台弹出提示
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "", @"<script>alert ...
- 不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句
在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn fro ...
- NET Platform Standard
NET Platform Standard 相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:ht ...
- 中科同向备份软件Heartsone-backup(足足16个软件,可差异化备份虚拟机)
传统的备份方式我们应该尽量避免,除非他们支持和执行使用基于(API)的虚拟环境中的管理备份.中科同向备份软件Heartsone-backup V8.0(以下简称HBU)就是通过VADP提供的一系列管理 ...
- 所有CM_消息的说明
这些CM消息,居然在Delphi的帮助里是没有任何说明的,真是昏倒.意外在高手的书里找到了所有说明,说明如下: Message Constant Value Description cm_Base $ ...
- delphi 网页提交按钮执行点击事件
遍历即可实现,下列代码仅供参考: var i: integer; T: OleVariant; begin T := WebBrowser1.Document; do begin if T.all.i ...
- uva 10131 Is Bigger Smarter?(DAG最长路)
题目连接:10131 - Is Bigger Smarter? 题目大意:给出n只大象的属性, 包括重量w, 智商s, 现在要求找到一个连续的序列, 要求每只大象的重量比前一只的大, 智商却要小, 输 ...