Spring 中 bean 之间的关系:parent(继承) 和 depends-on (依赖)作用是什么?
来源:互联网 发布:飞天网络 编辑:程序博客网 时间:2024/05/21 10:53
bean的配置
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:util="http://www.springframework.org/schema/util"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 http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!-- bean address 是一个抽象bean,其只能被继承,不能被实例化,即其是一个模版bean --><bean id="address" abstract="true"><property name="city" value="ShangHai"></property><property name="street" value="SuZhouRoad"></property></bean><bean id="address1" class="com.baidu.autowire.Address"><property name="city" value="ShangHai"></property><property name="street" value="NanJingRoad"></property></bean><!-- bean 之间的关系:继承、依赖Spring 允许继承 bean 的配置, 被继承的 bean 称为父 bean. 继承这个父 Bean 的 Bean 称为子 Bean。①. 子 Bean 从父 Bean 中继承配置, 包括 Bean 的属性配置,②. 子 Bean 也可以覆盖从父 Bean 继承过来的配置,③. 父 Bean 可以作为配置模板, 也可以作为 Bean 实例. 若只想把父 Bean 作为模板, 可以设置 <bean> 的abstract 属性为true, 这样 Spring 将不会实例化这个 Bean④. 并不是 <bean> 元素里的所有属性都会被继承. 比如: autowire, abstract 等.⑤. 也可以忽略父 Bean 的 class 属性, 让子 Bean 指定自己的类, 而共享相同的属性配置. 但此时 abstract 必须设为 true:即,若某一个bean 的class 属性没有指定,则该bean 必须是一个抽象bean 配置bean 的继承 :使用bean 的parent 属性指定继承哪个bean 的配置 --><bean id="address2" parent="address1"><property name="street" value="GuangZhouRoad"></property></bean><bean id="phone" class="com.baidu.autowire.Phone" p:brand="HuaWei" p:price="4899"/><!-- 要求在配置Person 时,必须有一个关联的Phone! 即:person 这个bean 依赖于Phone 这个bean,如果没有Phone,person 就不能实例化, 就会报错(org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'phone' is defined) --><bean id="person" class="com.baidu.autowire.Person" p:name="Jim" p:age="25"p:address-ref="address2" depends-on="phone"></bean></beans>
测试方法:
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.baidu.autowire.Address;import com.baidu.autowire.Person;public class TestSpringRelation {public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans_relation.xml");Address address1 = (Address) applicationContext.getBean("address1");System.out.println(address1);Address address2 = (Address) applicationContext.getBean("address2");System.out.println(address2);Person person = (Person) applicationContext.getBean("person");System.out.println(person);}}
运行结果:
Address [city=ShangHai, street=NanJingRoad]Address [city=ShangHai, street=GuangZhouRoad]Person [name=Jim, age=25, phone=null, address=Address [city=ShangHai, street=GuangZhouRoad]]
Spring中depends-on的作用是什么? 查看这篇博文:http://yanln.iteye.com/blog/2210723
0 0
- Spring 中 bean 之间的关系:parent(继承) 和 depends-on (依赖)作用是什么?
- Spring中depends-on的作用是什么?
- Spring中depends-on的作用是什么?
- Spring管理Bean之间的关系一(depends-on)
- Spring的depends-on属性Bean依赖
- Spring的depends-on属性Bean依赖
- spring bean之间的关系:继承;依赖
- spring- bean之间的关系 继承 依赖
- Spring-4 bean之间的关系----继承和依赖
- Spring配置--Bean之间的关系(继承和依赖)
- Spring内核研究-管理bean之间的关系一(depends-on)
- Spring内核研究-管理bean之间的关系一(depends-on)
- 一步一步学习Spring(3)-管理Bean之间的关系一(depends-on)
- Spring 框架Bean之间的关系(继承、依赖)
- 【spring bean】spring中bean的懒加载和depends-on属性设置
- 10009---bean 之间的关系:继承;依赖
- bean 之间的关系:继承;依赖
- Spring4之Bean之间的关系(继承、依赖、引用)Bean的作用范围
- MapReduce初级案例
- 十进制转换为R进制
- mysql分页查询
- hdu5288 区间个数
- 初识Maven
- Spring 中 bean 之间的关系:parent(继承) 和 depends-on (依赖)作用是什么?
- MqSQL数据库的差集如何实现?Minus?
- Python学习笔记(二)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- MySQL 全文索引(fulltext)
- MySQL日期类型和毫秒值相互转换
- Android PreferenceFragment实现设置界面
- row_number() over(partition by column1 order by column2)
- 空中网线程题(3题)