bean的自动装配属性能简化xml文件配置.

bean 的自动装配属性分为四种:

1.byName

2.byTyoe

3.constructor

4. autodetect

byName:

它查找配置文件中的的bean的id 或者name 和本bean中的成员属性名相同的bean 自动装配 所以不用再给本bean添加peoperty标签

例:有两个类

public Class  Person{

}

public Class Customer{

  private Person p;

  public setPerson(Person ps){

    this.p=ps;

  }

}

传统的xml配置为

<bean id="p" class="com.***.Person "/ >

<bean id="customer" class="com.***.Customer" >

<property name="p" ref="p"></property>   //将(ref)p实例化到bean的(name)p属性,达到方法中setPerson的目的

</bean>

byName的自动装配方法为

<bean id="p" class="com.***.Person "/ >

<bean id="customer" class="com.***.Customer"  autowrite="byName"/> //因为id=p的类的实例化名正好和com.***.Customer类的属性 P的成员变量名相同 所以被自动装配到 customer这个bean里面

byType:

方法同上:只不过他搜索的是成员的类型和配置文件中的某个bean的类型相同 则自动装配 ,但是要注意一点:如果出现多个相同类型的bean将抛出异常,处理方法为。设置不需要载入的bean 的属性 primary="false"(取消首选) 或 autowriter-candidate="false"(排除)

constructor:
试图在容器中寻找与需要自动装配的bean的构造函数参数一致的一个或多个bean,如果没找到则抛出异常

autodetect:
首先尝试使用constructor来自动装配,然后再使用byType方式。

默认自动装配设置 :

如果想要为它所创建的所有bean应用相同的自动装配策略来简化配置是 可以在根元素<beans> 上增加 default-autowire属性

<beans default-autowire="byName"> ...................</beans>

Spring bean的自动装配属性的更多相关文章

  1. spring bean autowire自动装配

    转自:http://blog.csdn.net/xiao_jun_0820/article/details/7233139 autowire="byName"会自动装配属性与Bea ...

  2. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配

    一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...

  3. spring实战二之Bean的自动装配(非注解方式)

    Bean的自动装配 自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bea ...

  4. Spring基础09——Bean的自动装配

    1.XML配置的Bean自动装配 SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,而不需要手工去指定要装配的Bean,a ...

  5. Spring(三):bean的自动装配

    Bean的自动装配 自动装配是Spring满足bean依赖的一种方式. Spring会在上下文中自动寻找,并自动给bean装配属性 Spring中三种装配方式 在xml中显式的配置. 在java中显式 ...

  6. Spring学习03(Bean的自动装配)

    6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...

  7. bean的自动装配,使用注解开发,使用java的方式配置Spring

    bean的自动装配 自动装配是Spring满足bean依赖一种方式! Spring会在上下文中自动寻找,并自动给bean装配属性! 在Spring中有三种装配的方式 在xml中显示的配置 在java中 ...

  8. Spring(六)之自动装配

    一.自动装配模型 下面是自动连接模式,可以用来指示Spring容器使用自动连接进行依赖注入.您可以使用元素的autowire属性为bean定义指定autowire模式. 可以使用 byType 或者  ...

  9. Spring 由构造函数自动装配

    Spring 由构造函数自动装配,这种模式与 byType 非常相似,但它应用于构造器参数. Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 ...

随机推荐

  1. Redis重新配置集群

    如果要重新配置集群,先停止集群,然后将cluster-config-file配置的所有文件删除,再重新启动集群,就可以重新配置集群 如果提示[ERR] Node 192.168.2.17:7000 i ...

  2. IDEA debug模式鼠标悬停提示变量值

  3. killall - 以名字方式来杀死进程

    SYNOPSIS (总览) killall [-egiqvw] [-signal] name ... killall -l killall -V DESCRIPTION (描述) killall 发送 ...

  4. java http httpclient

    HttpClient post get 洗衣店 微信扫码支付

  5. AD使用adsi 组件 获取域信息

    // testadsi.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include "windows.h"#inclu ...

  6. linux宏

    INT_MAX UINT_MAX ATTRIBUTE_UNUSED

  7. DeepFaceLab更新至2019.12.19

    简而言之就是:人脸转换更加稳定和精确,切脸上下边界对齐,增加侧脸和嘴巴的识别面积,所以在这个版本之前的模型需要额外的训练.好消息是,如果你目前素材的嘴巴和侧脸识别有问题,可以重新提取脸部. 之前和之后 ...

  8. Ubuntu 16.04 orb-slam2配置

    说明:Ubuntu 16.04以及必要的基础软件安装完成之后进行: 1.OpenNI2安装(可选) 安装依赖项: sudo apt--dev freeglut3-dev doxygen graphvi ...

  9. 从springmvc 过度到 springboot

    1.web.xml 形式的MVC项目 web.xml ,web.xml的启动类在 web 容器里,即Tomcat中. Tomcat的main方法会加载 web.xml.为什么Tomcat会加载 web ...

  10. c语言获取系统时间并格式化

    // #include <time.h> int GetAndFormatSystemTime(char* timeBuff) { if (timeBuff == NULL) { retu ...