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

简介:   在设计类的时候,往往把多个类公共的部分抽象出来,做成父类,其余的类继承它。  Spring的配置文件也一样,当多个bean有公共部分时,为了减少配置量,也可以把公共的部分抽出来,其余的部分都“继承”它。

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

  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。


相关文章
|
7天前
|
Java 开发工具 git
实现基于Spring Cloud的配置中心
实现基于Spring Cloud的配置中心
|
5天前
|
Java 应用服务中间件 开发者
Java面试题:解释Spring Boot的优势及其自动配置原理
Java面试题:解释Spring Boot的优势及其自动配置原理
28 0
|
7天前
|
JSON 运维 监控
Spring Boot中的健康检查端点配置
Spring Boot中的健康检查端点配置
|
7天前
|
JSON 运维 监控
Spring Boot中的健康检查端点配置
Spring Boot中的健康检查端点配置
|
7天前
|
存储 安全 Java
Spring Boot中的配置文件加密
Spring Boot中的配置文件加密
|
7天前
|
前端开发 Java 应用服务中间件
Spring Boot自动配置详解
Spring Boot自动配置详解
|
7天前
|
Java Spring
深入理解Spring Boot中的Profile配置
深入理解Spring Boot中的Profile配置
|
7天前
|
Java Spring
深入理解Spring Boot中的配置加载顺序
深入理解Spring Boot中的配置加载顺序
|
7天前
|
Java 开发工具 数据安全/隐私保护
深入理解Spring Cloud中的配置中心
深入理解Spring Cloud中的配置中心
|
7天前
|
Java Spring
解析Spring Boot中的配置文件与外部化配置
解析Spring Boot中的配置文件与外部化配置