<?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="carBean" class="com.spring.cn.config.autowire.CarBean" p:brand="宝马" p:price="350000"/> <bean id="carBean2" class="com.spring.cn.config.autowire.CarBean" p:brand="宝马" p:price="350000"/> <bean id="addressBean" class="com.spring.cn.config.autowire.AddressBean" p:city="成都" p:street="天府大道"/> <!--手动装配--> <!--<config id="personBean" class="com.spring.cn.configig.autowire.PersonBean"--> <!--p:name="liangd" p:carBean-ref="carBean" p:addressBean-ref="addressBean"/>--> <!-- 1、使用autewire属性指定自动装配方式 2、byName 通过当前bean的类名和当前bean的setter构造风格(id名)进行自动装配 若有匹配的,则进行自动装配,若没有匹配的,则不装配(例如id名字与类名不一致) 3、通过byType自动装配bean,不允许IOC容器中有两个相同类型的bean,否则抛异常 --> <!--自动装配--> <bean id="personBean" class="com.spring.cn.config.autowire.PersonBean" p:name="liangd" autowire="byName"/> <!--<config id="personBean" class="com.spring.cn.configig.autowire.PersonBean"--> <!--p:name="liangd" autowire="byType"/>--> <!-- 自动装配的缺点: 1、在bean的配置文件里面使用autowire属性将会自动装配bean的所有属性,然而对于只自动装配个别字段,显得不够灵活 2、autowire属性要么根据类型装配,要么根据名字装配,二者不能同时使用 3、一般情况下,实际的项目中很少使用自动装配功能。但在使用一些框架的时候用autowire更方便 --> </beans>