beans-relation.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.hy.spring.beans.autowire.Address"
p:city="BeiJing^" p:street="HuiLongGun">
</bean>
-->

<!--
抽象bean: bean的 abstract属性为true的bean. 这样的bean不能被IOC 容器实例化,只能被继承配置
若某一个bean的class 属性没有指定,则该bean必须是一个抽象的bean
-->
<bean id="address" p:city="BeiJing^" p:street="HuiLongGun" abstract="true">
</bean>

<bean id="address1" class="com.hy.spring.beans.autowire.Address"
p:city="BeiJing" p:street="WuDaoKou" parent="address">
</bean>

</beans>

Main.java

package com.hy.spring.beans.relation;

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

import com.hy.spring.beans.autowire.Address;

public class Main {

public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-relation.xml");
//Address address = (Address) ctx.getBean("address");
//System.out.println(address);
Address address = (Address) ctx.getBean("address1");
System.out.println(address);
}

}

XML 配置

<bean id="car" class="com.hy.spring.beans.autowire.Car"
p:brand="Audi" p:price="300000">
</bean>

<!--
要求再配置person时,必须有一个关联的car!
换句话说person 这个bean 依赖于Car 这个bean
-->
<bean id="person" class="com.hy.spring.beans.autowire.Person"
p:name="Tom" p:address-ref="address1" depends-on="car">
</bean>

最新文章

  1. [Android]Android端ORM框架——RapidORM(v2.1)
  2. js 继承 对象方法与原型方法
  3. Could not instantiate bean class [java.util.List]: Specified class is an interface] with root cause
  4. *HDU1800字典树
  5. Python 装饰器学习
  6. ReactMix框架,让你实现一套js代码,基于ReactNative在H5,App都能完美跑起来,Write Once,Run Anywhere
  7. GUI1_综合介绍
  8. hdu 2476(第一道区间dp)
  9. 【OpenGL】画立方体
  10. 练习--python中的Queue与多进程(multiprocessing)
  11. windows多线程没那么难
  12. Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下
  13. Zookeeper 启动错误
  14. JavaScript数组遍历(迭代)方法 8种
  15. jQuery 正则数字验证、’Money验证、电话号码验证、身份证验证、邮箱验证、网址验证、敏感字符验证
  16. JavaScript生成二维码图片
  17. python中if else流程判断
  18. 默认以管理员身份运行VS2013/15/17
  19. Android 收集已发布程序的崩溃信息
  20. qt 字体的相关问题

热门文章

  1. AderTemplate
  2. encodeURI() 的用法
  3. CF678D(Iterated Linear Function)
  4. Vulkan Tutorial 06 逻辑设备与队列
  5. 网络编程3 网络编程之缓冲区&amp;subprocess&amp;粘包&amp;粘包解决方案
  6. c++用vector创建二维数组
  7. mysql insert中用case
  8. 百度 url 当在baidu搜索结果展示页,去点击标头时
  9. Storm-源码分析-Topology Submit-Executor-mk-threads
  10. 如何重定向 stderr ?