您的位置:首页 > 编程语言 > Java开发

Spring_Bean 之间的关系

2016-08-21 22:52 393 查看


[b]beans-relation.xml[/b]

<?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>

[b]Main.java[/b]

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);
}

}



[b]XML 配置[/b]

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: