<beans /> 元素

该元素是根元素。
<bean /> 元素的属性
default-init // 是否开启懒加载。默认为 false
default-dependency-check // 默认为 none
default-autowire // 是否自动转配。默认为 no <bean /> 元素的子元素
<description /> // 可选
<import /> // 包含 resource 属性,引用其他配置文件
<bean /> // 定义 bean

<bean /> 元素中的属性

<bean /> 元素中的属性
id // Java bean 在 BeanFactory 中的唯一标识符。代码中通过 BeanFactory获取。JavaBean 实例化时,需要以此作为索引名称。
name // 如果没有配置id,name属性默认为标识符;如果配置了 id,则此时 name 为别名。
class // Java Bean 的全限定类名,即真正接口的实现类。如果不配置 id 和 name,那么可以根据 applicationContext.getBean(Class) 获取对象。
scope // bean 的作用域,取值为 singleton、prototype、request、session、application。
singleton // bean 的作用域(创建模式是 prototype 还是 singleton )。singleton(单例模式)如果设为 true,只维护次 Java Bean 的一个实例;反之,如果设为 false,BeanFactory 每次都将创建一个新的实例返回。默认为 true
init-method // 初始化方法,此方法将在 BeanFactory 创建 JavaBean 实例后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。在 JavaBean 中创建 init 方法,再添加属性 init-method=“init” 就行。
destroy-method // 销毁方法。此方法将在 BeanFactory 销毁的时候执行,一般用于资源释放。与 init-method 用法类似。
depends-on // Bean 依赖关系,一般情况下无需设定,Spring 会根据情况组织各个依赖关系的构建工作。只有在某些特定情况下,如 JavaBean 中的某些静态变量需要进行初始化,通过 depends-on 指定其依赖关系可以保证在此 Bean 加载之前,首先对 depends-on 所指的资源进行加载。
autowire // 自动装配,用于简化 spring 配置。取值 byname、bytype、constructor。 <bean /> 元素中的子元素
<constructor-arg /> // 指定构造器参数

<constructor-arg /> 元素

当被指定的方法是无参方法时,不需要使用该属性。

当被指定的方法有一个参数时,可以直接在 <constructor-arg /> 中嵌套一个 <value />元素或者 <ref />元素等,用来指定相应的参数。

当被指定的方法有多个参数时,需要通过 index 方法指定参数顺序。某些情况下,index 可以省略,spring 会根据参数的类型进行自动匹配。

<!-- 当有一个参数时 -->
<bean id="***" class="***">
<constructor-arg>
<!-- 直接指定 value 值 -->
<value type="java.lang.String">hello</value>
<!-- 通过 ref 指定已经声明的 bean 的值 -->
<ref bean="***" />
</constructor-arg>
</bean> <!-- 当有多个参数时 -->
<bean id="***" class="***">
<bean>
<constructor-arg index="0" type="java.lang.String" value="hello">
<constructor-arg index="1" type="java.lang.String" value="hello">
</bean>
</bean> <!-- list 参数传入 -->
<constructor-arg>
<list>
<value>value1</value>
<value>value2</value>
</list>
</constructor-arg> <!-- set 参数传入 -->
<constructor-arg>
<set>
<value>value1</value>
<value>value2</value>
</set>
</constructor-arg> <!-- map 参数传入 -->
<constructor-arg>
<map>
<entry key="key1" value="value1" />
<entry key="key2" value="value2" />
</map>
</constructor-arg>

<property /> 元素用于指定属性

<property /> 元素可作为 <bean /> 元素的子元素

name:指定 <property /> 所在 bean 的类中的参数

value:赋给改参数的值

ref:指定 bean 配置文件中的 bean 的名称

<bean id="person" class="service.Person">
<!-- 控制器调用setAxe方法,将容器中的axe bean作为传入的参数 -->
<!-- 此处的 name 是指定 Person 类中的参数,ref 是指 bean 配置文件中的 bean 名称 -->
<property name="axe" ref="axe"></property>
</bean>

Spring 配置文件中 元素 属性 说明的更多相关文章

  1. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  2. Spring配置文件中使用ref local与ref bean的区别

    Spring配置文件中使用ref local与ref bean的区别.在ApplicationResources.properties文件中,使用<ref bean>与<ref lo ...

  3. Spring 源码(4)在Spring配置文件中自定义标签如何实现?

    Spring 配置文件自定义标签的前置条件 在上一篇文章https://www.cnblogs.com/redwinter/p/16165274.html Spring BeanFactory的创建过 ...

  4. Spring配置文件中的parent与abstract

    在看项目的Spring配置文件时,发现消息队列的配置采用了继承方式配置Bean,在这梳理总结一下. 其实在基于spring框架开发的项目中,如果有多个bean都是一个类的实例,如配置多个数据源时,大部 ...

  5. 通过Spring配置文件中bean中的property赋值

    基本数据类型赋值-通过spring配置文件中bean中的property 扩展-以此方式可以通过配置为连接数据的属性赋值 1.如果是基本数据类型,可以通过setter方法为对象中的属性设置初始值,应用 ...

  6. Spring配置文件中未引入dubbo命名空间头部配置而引起的错误案例

    问题描述: Spring配置文件中未引入dubbo命名空间的头部配置而引起项目启动时报出如下错误信息: org.springframework.beans.factory.xml.XmlBeanDef ...

  7. 在spring配置文件中引入外部properties配置文件 context:property-placeholder

    在spring的配置文件中,有时我们需要注入很多属性值,这些属性全都写在spring的配置文件中的话,后期管理起来会非常麻烦.所以我们可以把某一类的属性抽取到一个外部配置文件中,使用时通用spring ...

  8. 零基础学习java------36---------xml,MyBatis,入门程序,CURD练习(#{}和${}区别,模糊查询,添加本地约束文件) 全局配置文件中常用属性 动态Sql(掌握)

    一. xml  1. 文档的声明 2. 文档的约束,规定了当前文件中有的标签(属性),并且规定了标签层级关系 其叫html文档而言,语法要求更严格,标签成对出现(不是的话会报错) 3. 作用:数据格式 ...

  9. Spring中获取外部配置文件中的属性值

    很多时候需要将配置信息从程序中剥离粗来,Spring现在提供的方法是通过@Value注解和<context:placeholder>来获取配置文件中的配置信息.这里给出一个简单的例子. 首 ...

随机推荐

  1. 移植Valgrind检测Android JNI内存泄漏

    1.相关工具 Valgrind:从Valgrind官网下载最新的源码包,我这里用的是:valgrind 3.14.0 (tar.bz2) [17MB] - 9 October 2018. Ubuntu ...

  2. TCP/IP详解--TCP连接中TIME_WAIT状态过多

    TIMEWAIT状态本身和应用层的客户端或者服务器是没有关系的.仅仅是主动关闭的一方,在使用FIN|ACK|FIN|ACK四分组正常关闭TCP连接的时候会出现这个TIMEWAIT.服务器在处理客户端请 ...

  3. 查看docker容器的内存占用

    使用docker stats命令可以查看容器的内存,但是有时候docker stats命令获得的数据可能准确,可以参考下面这种方式 先通过docker ps -a 找到容器的container id ...

  4. 文件管理 - Ring3创建目录

    //多字符集 #include "stdafx.h" #include <Windows.h> #include <iostream> using name ...

  5. 4、Zookeeper简单介绍

    一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的 ...

  6. NFS服务配置

    FS服务会经常用于在网络上共享存储. 比如有3台机子A,B,C;他们都需要访问同一个目录,使用NFS, 只需要把图片都放在A上,然后A共享给B和C即可. 访问B和C时,是通过网络的方式访问A上的哪个目 ...

  7. Java笔试面试题整理第七波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 1.super的作用     在Java中su ...

  8. 用GDB调试程序(七)

    改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的 ...

  9. PV、IV、UV

    PV  访问量 UV 独立访客 IV 独立ip数 qps 流量

  10. vue中.sync 修饰符

    一直以来,都不太明白.sync的用法,归根结底原因在于,没有仔细阅读“.sync修饰符”. 正好,最近在拿一个项目练手,然后使用了elment-ui,然后在用到dialog的时候,属性visible是 ...