参考下面的文章:
http://www.tuicool.com/articles/naYNVz
简单的例子,示例按byType 和 byName自动装配Bean:
package com.spring.auto.wire; import java.util.List; import java.util.Map; public class Company { private String name; private Department department; public String getName() { return name; } public void setName(String name) { this.name = name; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } @Override public String toString() { return "Company [name=" + name + ", department=" + department + "]"; } }
package com.spring.auto.wire; public class Department { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Department [name=" + name + "]"; } }
package com.spring.auto.wire; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String args[]){ ApplicationContext ctx = new ClassPathXmlApplicationContext("autowire.xml"); //按名字自动装配Bean Company company = (Company) ctx.getBean("company"); System.out.println(company); //按类型自动装配Bean Company company1 = (Company) ctx.getBean("company1"); System.out.println(company1); } }
xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="department" class="com.spring.auto.wire.Department" p:name="WEC"></bean> <bean id="company" class="com.spring.auto.wire.Company" p:name="WG" autowire="byName" ></bean> <bean id="company1" class="com.spring.auto.wire.Company" p:name="Wc" autowire="byType" ></bean> </beans>
输出的结果
Company [name=WG, department=Department [name=WEC]] Company [name=Wc, department=Department [name=WEC]]