概述
1 Bean之间的关系
1.1 抽象Bean与子Bean——abstract
问题提出:有几个Bean的配置信息大部分是相同的,如果依然保留这样的配置,后果是:
配置文件很臃肿经,繁琐。
项目后期的升级、维护比较难。
解决方案:把这些相同的信息抽取出来集中配置,配置成一个Bean模板。让原有的那些Bean继承该Bean模板,得到该Bean的模板中通用的配置信息。
为了阻止Spring创建Bean模板的实例,应该为之指定abstract="true"——这就是抽象Bean。
1.2 继承——parent
被
继承的
bean
为
父
bean
,继承这个父
bean
的
bean
为
子
bean
。
子
bean
从父
bean
中
继承
配置信息,也
可以
覆盖
配置信息。
父
bean
可作为
配置模板,也
可作为
bean
实例。
若父
bean
只作为模板而不实例化,可设置
abstract
="true
"
。
<bean>
元素
里不是
的所有属性都会被继承。比如:
autowire
、
abstract
等属性。
也可忽略
父
bean
的
class
属性,让子
bean
指定自己的类,而共享相同的属性配置,但此时
abstract
必须设为
true
。
子Bean
重用被继承的Bean的配置信息。
需为子Bean
指定
parent
属性
,如
:
parent="
stuTemplate
"
,
表明该
Bean
要从哪个
Bean
模板获取配置
信息。
父子Bean
不要求是
同一类型的,只要
具有
相关属性
即
可。
<bean id="stu"
p:sNo="001" p:sName="张三" abstract="true"></bean>
<bean id="student" class="cn.com.sise.CollegeStudent" p:major="Web专业 "
parent="stu"></bean>
1.3 依赖——depends-on
指定当前Bean的依赖Bean,强制指定的Bean在当前Bean初始化之前先完成初始化
如果前置依赖于多个Bean,则可以通过逗号,空格等方式配置Bean的名称。
<bean id="userDao" class="com.abc.dao.UserDao"/>
<bean id="userService" class="com.abc.service.UserService"
depends-on="userDao">
</bean>
最后
以上就是干净抽屉为你收集整理的Spring中Bean之间的关系1 Bean之间的关系的全部内容,希望文章能够帮你解决Spring中Bean之间的关系1 Bean之间的关系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复