1. 程式人生 > >spring中的自動裝配

spring中的自動裝配

1  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:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
                    
    <bean id="Address" class="com.study.autowire.Address"
    p:city="北京" p:street="萬里長城">
    </bean>
    <bean id="car" class="com.study.autowire.Car"
    p:brand="奧迪" p:price="360000"></bean>
   <bean id="person" class="com.study.autowire.Person"
    p:name="Spring容器" p:address-ref="Address" p:car-ref="car"></bean>
    <!--可以使用autowire屬性指定自動裝配的形式,byName根據bean的名字和當前bean的setter風格的屬性名進行自動裝配,有匹配的則裝配進來,否則不裝配  -->
    <bean id="person1" class="com.study.autowire.Person"
    p:name="Spring容器" autowire="byName"></bean>
     <!--可以使用autowire屬性指定自動裝配的形式,byType根據bean的名字和當前bean的型別進行自動裝配,有匹配的則裝配進來,否則不裝配  -->
    <bean id="person2" class="com.study.autowire.Person"
    p:name="Spring容器" autowire="byType"></bean>
</beans>

 2:test

package com.study.autowire;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;




public class TestAutoWireMain {
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("beans-relation.xml");
 Person person1=(Person) ctx.getBean("person1");
 System.out.println(person1);
 Person person2=(Person) ctx.getBean("person2");
 System.out.println(person2);
}


}