一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring配置文件中parent與abstract的使用

Spring配置文件中parent與abstract的使用

2021-10-19 10:44jcpp9527 Java教程

這篇文章主要介紹了Spring配置文件中parent與abstract的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring配置文件parent與abstract

其實在基于spring框架開發(fā)的項目中,如果有多個bean都是一個類的實例,如配置多個數(shù)據(jù)源時,大部分配置的屬性都一樣,只有少部分不一樣。

這樣的話在配置文件中可以配置和對象一樣進行繼承。

例如

?
1
2
3
4
5
6
7
8
<bean id="testParent"  abstract="true"  class="com.bean.TestBean">
    <property name="param1" value="父參數(shù)1"/>
    <property name="param2" value="父參數(shù)2"/>
</bean>  
<bean id="testBeanChild1" parent="testParent"/>
<bean id="testBeanChild2" parent="testParent">
      <property name="param1" value="子參數(shù)1"/>
</bean>

其中 abstract="true" 的配置表示:此類在Spring容器中不會生成實例。

parent="testBeanParent" 代表子類繼承了testBeanParent,會生成具體實例,在子類Bean中配置會覆蓋父類對應(yīng)的屬性。

spring使用parent屬性來減少配置

在基于spring框架開發(fā)的項目中,如果有多個bean都是一個類的實力,如配置多個數(shù)據(jù)源時,大部分配置的屬性都一樣,只有少部分不一樣,經(jīng)常是copy上一個的定義,然后修改不一樣的地方。其實spring bean定義也可以和對象一樣進行繼承。

示例如下:

?
1
2
3
4
5
6
7
8
<bean id="testBeanParent"  abstract="true"  class="com.wanzheng90.bean.TestBean">
       <property name="param1" value="父參數(shù)1"/>
       <property name="param2" value="父參數(shù)2"/>
 </bean>  
 <bean id="testBeanChild1" parent="testBeanParent"/>
  <bean id="testBeanChild2" parent="testBeanParent">
         <property name="param1" value="子參數(shù)1"/>
   </bean>

testBeanParent是父bean,其中abstract=“true”表示testBeanParen不會被創(chuàng)建,類似于于抽象類。其中testBeanChild1、testBeanChild2繼承了testBeanParent、,其中testBeanChild2重新對param1屬性進行了配置,因此會覆蓋testBeanParent

對param1屬性屬性的配置。

代碼如下:

TestBean

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class TestBean {   
    private String param1;
    private String param2;
    public String getParam1() {
        return param1;
    }
    public void setParam1(String param1) {
        this.param1 = param1;
    }
    public String getParam2() {
        return param2;
    }
    public void setParam2(String param2) {
        this.param2 = param2;
    }
    
}

App:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class App
{
    public static void main( String[] args )
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-context.xml");
        TestBean testBeanChild1 = (TestBean) context.getBean("testBeanChild1");
        System.out.println( testBeanChild1.getParam1());
        System.out.println( testBeanChild1.getParam2());
        TestBean testBeanChild2 = (TestBean) context.getBean("testBeanChild2");
        System.out.println( testBeanChild2.getParam1());
        System.out.println( testBeanChild2.getParam2());
    }
}

app main函數(shù)輸出:

父參數(shù)1

父參數(shù)2

子參數(shù)1

父參數(shù)2

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/wqc19920906/article/details/82353469

延伸 · 閱讀

精彩推薦
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 忘忧草在线社区WWW日本直播 | 免费亚洲成人 | 脱了白丝校花的内裤猛烈进入 | 1769亚洲资源站365在线 | 国产日产欧产精品精品软件 | 成人二区| 小货SAO边洗澡边CAO你动漫 | 波多野结衣178部中文字幕 | 亚洲免费网站在线观看 | 国产成人精品免费大全 | 色伦网| 韩剧hd| 国产成人精品三级在线 | 四虎成人免费视频 | 精品视频日本 | 亚洲一区二区精品推荐 | 国产一区二区精品久 | 激性欧美激情在线aa | 日韩免费高清完整版 | 亚州在线视频 | 青青草国产精品久久碰 | 白丝超短裙被输出娇喘不停小说 | 国产精品久久久久久久久久久久 | 二区三区不卡不卡视频 | 女人张开腿让男人桶视频免费大全 | 天天干天天操天天爽 | 高清在线看 | 国产精品美女久久久久 | 成人精品视频一区二区在线 | 亚洲男人天 | 日本免费观看95视频网站 | 清清草在线视频 | 亚洲免费视频一区 | 国产福利不卡一区二区三区 | 国产aⅴ一区二区三区 | jazz中国女人护士 | 好看的亚洲视频 | 免费叼嘿视频 | 人禽l交免费视频观看+视频 | 黑人巨摘花第一次出血 | 色老妇|