Spring學習筆記(八)xml自動裝配
阿新 • • 發佈:2021-01-04
技術標籤:java學習
1、什麼是自動裝配
(1)根據指定裝配規則(屬性名稱或者屬性型別),Spring自動將匹配的屬性值進行注入
2、自動裝配示例:
bean1.xml程式碼如下:
自動裝配需要設定autowire有兩個值:byName和byType,byName需要設定一個id與類屬性名稱相同的bean
如果設定autowire值為byType則需要相同的型別的bean只能有一個
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--實現自動裝配bean標籤屬性autowire,配置自動裝配 autowire屬性常用兩個值, byName根據屬性名稱注入,注入值bean的id值和類屬性名稱一樣 byType根據屬性型別注入--> <bean id="emp" class="autowire.Emp" autowire="byName"> </bean> <bean id="dept" class="autowire.Dept"></bean> </beans>
Dept程式碼如下:
package autowire;
public class Dept {
@Override
public String toString() {
return "Dept{}";
}
}
package autowire; public class Emp { private Dept dept; public void setDept(Dept dept) { this.dept = dept; } @Override public String toString() { return "Emp{" + "dept=" + dept + '}'; } public void test() { System.out.println(dept); } }
MainTest:
import autowire.Emp; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainTest { @Test public void test() { ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml"); Emp emp=context.getBean("emp",Emp.class); System.out.println(emp); } }
測試結果如下: