Spring配置文件中的Bean之间的关系
2017-07-18 08:52
435 查看
前边我们讲过了Spring的自动装配的特性,即可以根据指定Bean的属性autowire为byName名称和byType类型装配,根据属性装配要求类的setXxx()中的xxx必须和bean中的id一致;根据类型装配要求类属性的类型必须和bean的class一致(根据类型装配要求当前IOC容器中之能有一个满足类型匹配的bean,否则无法确认哪一个合适,就无法匹配)。今天我们来说一说在IOC容器中配置的bean节点之间可以存在的关系。
1. 直接引用
若把一个bean的ref指向另一个bean的id,那么后者就是被前者引用为自己的实例属性了。
2. 继承
① 当bean之间的属性大致相同时,我们为了简化代码就可以让子Bean继承父bean。子bean就可以拥有父bean的部分属性,同时子bean也可以覆盖父bean的属性内容。需要注意的是,子bean并非继承了父bean的所有属性,如:abstract和autowire属性就不会被子bean继承。
② bean除了可以配置在IOC容器中用于创建实例之外,也可以用于当做父bean模板。如果只希望某个bean当做父bean模板,那么可以将这个bean的属性abstract设置为true。一旦这个bean被设置成模板bean,那么这个bean就无法再IOC初始化的时候创建实例了(不可被实例化,也不可被指向)。
3.依赖
Spring中允许通过depends-on属性指定当前bean需要依赖的bean。依赖的作用呢是为了确保在当前bean之前要求被依赖的bean节点存在且可以被实例化。
如果某个bean依赖于多个bean,那么可以通过逗号、空格的方式配置bean的名称。
1. 直接引用
若把一个bean的ref指向另一个bean的id,那么后者就是被前者引用为自己的实例属性了。
2. 继承
① 当bean之间的属性大致相同时,我们为了简化代码就可以让子Bean继承父bean。子bean就可以拥有父bean的部分属性,同时子bean也可以覆盖父bean的属性内容。需要注意的是,子bean并非继承了父bean的所有属性,如:abstract和autowire属性就不会被子bean继承。
② bean除了可以配置在IOC容器中用于创建实例之外,也可以用于当做父bean模板。如果只希望某个bean当做父bean模板,那么可以将这个bean的属性abstract设置为true。一旦这个bean被设置成模板bean,那么这个bean就无法再IOC初始化的时候创建实例了(不可被实例化,也不可被指向)。
3.依赖
Spring中允许通过depends-on属性指定当前bean需要依赖的bean。依赖的作用呢是为了确保在当前bean之前要求被依赖的bean节点存在且可以被实例化。
如果某个bean依赖于多个bean,那么可以通过逗号、空格的方式配置bean的名称。
相关文章推荐
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
- Spring(六)--Spring配置文件之间的关系
- Spring中获取配置文件中getBean,有2中方式,beanFactory和application,俩者之间的区别
- Spring使用注解的方式配置bean的属性-bean之间的引用关系
- Spring全家桶(二)Bean之间的关系、自动装配、作用域和使用外部文件
- Spring配置--Bean之间的关系(继承和依赖)
- 《精通Spring4.X企业应用开发实战》读后感第五章(<bean>之间的关系\整合多个配置文件)
- spring 5 bean配置--bean之间的关系
- Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件
- Spring4深入理解IOC&DI02----Bean配置--自动装配、bean之间的继承与依赖、使用外部属性文件
- spring学习总结(五):IOC & DI 配置 Bean 之自动装配及bean之间的关系
- spring配置bean之间的关系
- 【跟我学spring 4.0 】之第五节-配置bean之间的关系:继承、依赖
- 从applicationContext.xml到beanfactiory 谈Spring从配置文件中获取bean
- spring管理属性配置文件properties——使用PropertiesFactoryBean
- spring配置文件中bean表中的lazy-init
- Spring-mybatis整合配置错误,显示不能创建spring配置文件中的sqlSessionFactory的Bean
- Spring基础——在Spring Config 文件中配置 Bean(看了一半,看整个系列)
- SPRING里的配置文件里<ref local=""和<ref bean=""区别