一.前言 1.自動裝配儘量不要用,不如使用set明確 二. 通過構造函數註入值(Bean中可以沒有get,set方法) 三. 自動裝配bean的屬性值 (1) byName的用法: (2) byType: byType:尋找和屬性類型相同的bean, 找不到,裝不上,找到多個拋異常。 (3) con ...
一.前言
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: 不自動裝配