手工装配
<bean id="address" class="com.lishimin.autowiter.Address" p:city="dongguan" p:street="changqing road"></bean> <bean id="car" class="com.lishimin.autowiter.Car" p:brand="宝马" p:price="350000"></bean> <bean id="person" class="com.lishimin.autowiter.Person" p:name="李世民" p:address-ref="address" p:car-ref="car"></bean>
根椐bean 的类型和当前bean属性的seter风格进行自动装配,若匹配就装配,若不匹配则不装配
<bean id="person" class="com.lishimin.autowiter.Person" p:name="汉武帝" autowire="byName"></bean>
根据类型自动装配
根据bean 的类型和当前bean属性的类型进行自动装配,若IOC容器中有两个一样的类型,则会报错
<bean id="person" class="com.lishimin.autowiter.Person" p:name="汉武帝" autowire="byType"></bean>
bean 的继承
<bean id="address" class="com.lishimin.autowiter.Address" p:city="dongguan" p:street="changqing road"></bean> <bean id="address2" class="com.lishimin.autowiter.Address" p:street="JIANGHAN" parent="address"></bean>
main 方法
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("WEB-INF/bean-relation.xml"); Address address = (Address) applicationContext.getBean("address"); System.out.println(address); address = (Address) applicationContext.getBean("address2"); System.out.println(address);
结果
Address{city='dongguan', street='changqing road'}
Address{city='dongguan', street='JIANGHAN'}