Spring Bean 定義繼承
Bean 定義繼承
bean 定義可以包含很多的配置資訊,包括建構函式的引數,屬性值,容器的具體資訊例如初始化方法,靜態工廠方法名,等等。
子 bean 的定義繼承父定義的配置資料。子定義可以根據需要重寫一些值,或者新增其他值。
Spring Bean 定義的繼承與 Java 類的繼承無關,但是繼承的概念是一樣的。你可以定義一個父 bean 的定義作為模板和其他子 bean 就可以從父 bean 中繼承所需的配置。
當你使用基於 XML 的配置後設資料時,透過使用父屬性,指定父 bean 作為該屬性的值來表明子 bean 的定義。
例子
我們在適當的位置使用 Eclipse IDE,然後按照下面的步驟來建立一個 Spring 應用程式:
步驟 | 描述 |
---|---|
1 | 建立一個名稱為 SpringExample 的專案,並且在建立專案的 src 資料夾中建立一個包 com.tutorialspoint。 |
2 | 使用 Add External JARs 選項,新增所需的 Spring 庫,解釋見 Spring Hello World Example 章節。 |
3 | 在 com.tutorialspoint 包中建立 Java 類 HelloWorld、HelloIndia 和 MainApp。 |
4 | 在 src 資料夾中建立 Beans 配置檔案 Beans.xml。 |
5 | 最後一步是建立的所有 Java 檔案和 Bean 配置檔案的內容,並執行應用程式,解釋如下所示。 |
下面是配置檔案 Beans.xml,在該配置檔案中我們定義有兩個屬性 message1 和 message2 的 “helloWorld” bean。然後,使用 parent 屬性把 “helloIndia” bean 定義為 “helloWorld” bean 的孩子。這個子 bean 繼承 message2 的屬性,重寫 message1 的屬性,並且引入一個屬性 message3。
這裡是 HelloWorld.java 檔案的內容:
package com.tutorialspoint; public class HelloWorld { private String message1; private String message2; public void setMessage1(String message){ this.message1 = message; } public void setMessage2(String message){ this.message2 = message; } public void getMessage1(){ System.out.println("World Message1 : " + message1); } public void getMessage2(){ System.out.println("World Message2 : " + message2); } }
這裡是 HelloIndia.java 檔案的內容:
package com.tutorialspoint; public class HelloIndia { private String message1; private String message2; private String message3; public void setMessage1(String message){ this.message1 = message; } public void setMessage2(String message){ this.message2 = message; } public void setMessage3(String message){ this.message3 = message; } public void getMessage1(){ System.out.println("India Message1 : " + message1); } public void getMessage2(){ System.out.println("India Message2 : " + message2); } public void getMessage3(){ System.out.println("India Message3 : " + message3); } }
下面是 MainApp.java 檔案的內容:
package com.tutorialspoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld objA = (HelloWorld) context.getBean("helloWorld"); objA.getMessage1(); objA.getMessage2(); HelloIndia objB = (HelloIndia) context.getBean("helloIndia"); objB.getMessage1(); objB.getMessage2(); objB.getMessage3(); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2370/viewspace-2807335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 「Spring認證」Spring Bean 定義教學SpringBean
- c++繼承,隱藏(重定義)C++繼承
- spring bean定義與載入方式SpringBean
- Spring核心——Bean的定義與控制SpringBean
- Spring裡面xml檔案中bean的依賴和繼承SpringXMLBean繼承
- Spring系列第十三講 使用繼承簡化bean配置(abstract & parent)Spring繼承Bean
- Spring:Bean的scope作用域案例講解以及Bean之間的依賴和繼承(3)SpringBean繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- Spring系列第四講 xml中bean定義詳解SpringXMLBean
- C++ protected繼承意義C++繼承
- Spring中bean的含義SpringBean
- 物件導向:類的定義和繼承的幾種方式物件繼承
- 菱形繼承,虛繼承繼承
- 原型,繼承——原型繼承原型繼承
- 多繼承 與 多重繼承繼承
- 深入理解Spring的Bean定義物件BeanDefinition-面試重點SpringBean物件面試
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 設計模式(三十)----綜合應用-自定義Spring框架-自定義Spring IOC-定義bean、登錄檔相關類設計模式Spring框架Bean
- 繼承繼承
- 我該如何學習spring原始碼以及解析bean定義的註冊Spring原始碼Bean
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- Java Spring Beans.xml裡的Bean定義是如何被解析出來的JavaSpringBeanXML
- 類的繼承_子類繼承父類繼承
- JavaScript繼承JavaScript繼承
- javascript:繼承JavaScript繼承
- python繼承Python繼承
- JavaScript 繼承JavaScript繼承
- 10 #### 繼承繼承
- python 繼承Python繼承
- 多繼承繼承
- python 基礎之繼承、重寫、多繼承Python繼承
- spring4.1.8擴充套件實戰之五:改變bean的定義(BeanFactoryPostProcessor介面)Spring套件Bean
- Pytorch技法:繼承Subset類完成自定義資料拆分PyTorch繼承
- [Spring]BeanSpringBean
- 深入Spring Boot:ClassLoader的繼承關係和影響Spring Boot繼承
- Spring Boot中從自定義Logback訪問Spring Bean三種方法Spring BootBean