当前位置: 移动技术网 > IT编程>开发语言>Java > spring_06装配bean_2

spring_06装配bean_2

2019年02月14日  | 移动技术网IT编程  | 我要评论

 

一.前言

  

  1.自动装配尽量不要用,不如使用set明确

  

 

二. 通过构造函数注入值(bean中可以没有get,set方法) 

<bean id="emp" class="com.ahd.constructor.employee">
    <constructor-arg index="0" type="java.lang.string" value="ahd"></constructor-arg>
    <constructor-arg index="1" type="int" value="1"></constructor-arg>
</bean>

 

 

  

 

  

三. 自动装配bean的属性值

  

  

  (1)     byname的用法:

<!-- 配置一个master对象 -->

<bean id="master" class="com.hsp.autowire.master" autowire="byname">
  <property name="name">
    <value>顺平</value>
  </property>
</bean>

<!-- 配置dog对象 -->

<bean id="dog" class="com.hsp.autowire.dog">
  <property name="name" value="小黄"/>
  <property name="age" value="3"/>
</bean>

 

  (2)   bytype: bytype:寻找和属性类型相同的bean,

    找不到,装不上,找到多个抛异常。

  (3) constructor: autowire="constructor"

    说明 : 查找和bean的构造参数一致的一个或多个bean,若找不到或找到多个,抛异常。按照参数的类型装配 

 

  (4) autodetect

    说明 :  autowire="autodetect"

    (3)和(2)之间选一个方式。不确定性的处理与(3)和(2)一致。

  (5) defualt

    这个需要在<beans defualt-autorwire=“指定” />

    当你在<beans >指定了 default-atuowrite后, 所有的bean的 默认的autowire就是 指定的装配方法;

    如果没有在<beans defualt-autorwire=“指定” /> 没有  defualt-autorwire=“指定” ,则默认是

    defualt-autorwire=”no”

  (6) no: 不自动装配

 

 

 

  

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网