Spring-bean配置

####xml bean的自动装配
需要做的是在的autowire属性里指定自动装配的模式

  • byType 根据类型自动装配 如果IOC容器中存在多个于目标bean类型一致的bean,这种情况下Spring无法判断,所以无法执行自动装配
  • byName 根据名称自动装配 必须将目标bean的名称和属性名设置的完全相同
  • conStructor 通过构造器自动装配 当bean中存在多个构造器时,这种方式会很复杂,所以不推荐使用

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="address" class="com.diedline.spring.beans.autowire.Address" p:city="杭州" p:street="HuiLong"></bean>
    <bean id="car" class="com.diedline.spring.beans.autowire.Car" p:brand="Audi" p:price="300000"></bean>
    <!-- 可以使用autowire 属性指定自动装配的方式,
    byName 根据bean的名字和当前bean的setter风格进行自动装配 若有匹配则自动装配没有则不装配
    byType 根据当前bean的类型和当前bean的属性进行自动装配  byType有一个问题当存在多个匹配的类型时无法装配上因为不是唯一
     -->
    <bean id="person" class="com.diedline.spring.beans.autowire.Person" p:name="Tom" autowire="byType"></bean>
</beans>

read more