专栏首页Danny的专栏【SSH快速进阶】——Spring抽象公共配置

【SSH快速进阶】——Spring抽象公共配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/52025166

  在设计类的时候,往往把多个类公共的部分抽象出来,做成父类,其余的类继承它。

  Spring的配置文件也一样,当多个bean有公共部分时,为了减少配置量,也可以把公共的部分抽出来,其余的部分都“继承”它。

  比如下面的两个实体

public class Bean1 {
    private int id;
    private String name;
    private String sex;
    //setter、getter
}
public class Bean2 {
    private int id;
    private String name;
    private String sex;
    private int age;
    //setter、getter
}

  配置文件

<bean id="bean1" class="com.danny.spring.Bean3">
    <property name="id" value="123"></property>
    <property name="name" value="Danny"></property>
    <property name="sex" value="male"></property>
</bean>

<bean id="bean2" class="com.danny.spring.Bean4">
    <property name="id" value="123"></property>
    <property name="name" value="Danny"></property>
    <property name="sex" value="male"></property>
    <property name="age" value="26"></property>
</bean>

  Bean1和Bean2有三个属性都是相同的(并且属性值也相同,在真实的应用场景中有很多情况,多个不同的bean都有相同的依赖),在配置文件中就有一大半都是重复的。

  这时可以把配置文件改一下,抽象出一个公共的“父类”,剩余的部分再“继承”它:

<bean id="abstractBean" abstract="true">
    <property name="id" value="123"></property>
    <property name="name" value="Danny"></property>
    <property name="sex" value="male"></property>
</bean>

<bean id="bean1" class="com.danny.spring.Bean3" parent="abstractBean"/>

<bean id="bean2" class="com.danny.spring.Bean4" parent="abstractBean">
    <property name="age" value="26"></property>
</bean>

  上面配置中有一个“抽象Bean”——abstractBean,从它的abstract属性值就可以看出,它不会被实例化,只会被其他的Bean“继承”。从bean1和bean2的parent属性值可以看出,它们都“继承”了abstractBean。


【 转载请注明出处——胡玉洋《【SSH快速进阶】——Spring抽象公共配置》】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【SSH快速进阶】——struts2调用action的三种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • UML图——用例图

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • 【EJB学习笔记】——实体Bean

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • 提高hadoop的可靠性(下)

    在Hadoop集群中,Namenode的可用性直接影响了Hadoop整个集群的可用性,目前有很多可选方案,基本上以NFS+zookeeper实现,...

    刀刀老高
  • Hadoop HA及Failover搭建

    在Hadoop1.X版本中使用单个NameNode来管理所有的DataNode的元数据,一旦NameNode节点发生故障将导致整个集群不可用,而且必须手动恢复N...

    z小赵
  • Hadoop install

    XING辋
  • 基于SSM的数据库连接池框架druid的使用

    可以先去druid的官网下载jar:http://druid.io/downloads.html

    SmileNicky
  • 基于druid和spring的动态数据库以及读写分离

    spring与druid可以实现动态数据源,夸库查询,读写分离等功能。现在说一下配置:

    一笠风雨任生平
  • Hadoop-HA高可用搭建

    2、hosts文件要配置好,三台都可以相互通过主机名ping通,三台虚拟机都要配置!如下:

    可爱见见
  • java DB 双数据源和数据库事务配置

    执笔记忆的空白

扫码关注云+社区

领取腾讯云代金券