天天看点

bean之间的关系:继承、依赖

 继承

这里说的继承和java的继承是不一样的,不是父类子类。但思想很相似,是父bean和子bean

1、父bean是一个实例时。它本身是一个完整的bean

2、父bean是模板,抽象bean,不能被实例化,只是来被继承。

当遇到一个类要实例化出很多相似的bean对象时,如下,看起来是不是很不简洁

方法① 两个bean除了p:street不一样,其他都一样。可以把一个作为父bean,其它的继承这个bean

这里,第二个就继承了第一个bean,用parent属性,只写自己独有的属性或要覆盖的属性即可。

方法②把相同属性提取出来,做一个抽象bean,专门用来继承

这样,address2也继承了address1。address1设置了abstract="true",就不能实例化,否则抛异常。

也可以写成这样:

和上面的不同就是把class属性拿出去了。当很多不是同一个类的bean要继承父bean时,就要这样,在子bean写自己所在的class。

这样写还有一点是,这个父bean一定不能实例化,因为它没有class属性,实例化会跑异常。那就一定要写abstract属性,让spring不实例化它。

     依赖---depends-on

用Person类的例子

 有一个属性Car没有配置,那实例化后,它就是null。

 有时,我们需要让某个属性必须存在,就像必填项一样。 用depends-on 依赖

这样表示,实例化person一定要依赖car,没有配置car会抛异常

这样,依赖的car存在,就可以正常实例化了

优秀不够,你是否无可替代

软件测试交流QQ群:721256703,期待你的加入!!

bean之间的关系:继承、依赖