关于java:Spring认证Spring-Bean-定义继承

6次阅读

共计 798 个字符,预计需要花费 2 分钟才能阅读完成。

一个 bean 定义能够蕴含很多配置信息,包含结构函数参数、属性值和容器特定的信息,例如初始化办法、动态工厂办法名称等。

子 bean 定义从父定义继承配置数据。子定义能够依据须要笼罩某些值或增加其余值。

Spring Bean 定义继承与 Java 类继承无关,然而继承的概念是一样的。您能够将父 bean 定义定义为模板,其余子 bean 能够从父 bean 继承所需的配置。

当您应用基于 XML 的配置元数据时,您通过应用 parent 属性来批示子 bean 定义,将父 bean 指定为该属性的值。

例子

让咱们有一个工作的 Eclipse IDE 并采取以下步骤来创立一个 Spring 应用程序 –

以下是配置文件 beans.xml 中,咱们定义的“HelloWorld”豆它有两个属性 MESSAGE1 和音讯 2。下一个“helloIndia”bean 已通过应用 parent 属性定义为“helloWorld”bean 的子代。孩子继承豆音讯 2 财产是,和笼罩 MESSAGE1 财产,并介绍了一个更多的财产 MESSAGE3。

这是 HelloWorld.java 文件的内容 -

这是 HelloIndia.java 文件的内容 -

以下是 MainApp.java 文件的内容 -

实现源文件和 bean 配置文件的创立后,让咱们运行应用程序。如果您的应用程序一切正常,它将打印以下音讯 –

如果您在这里察看到,咱们在创立“helloIndia”bean 时没有传递 message2,然而因为 Bean 定义继承,它通过了。

Bean 定义模板

您能够创立一个 Bean 定义模板,它能够被其余子 Bean 定义应用而无需付出太多致力。在定义 Bean 定义模板时,您不应指定 class 属性,而应指定形象 属性,并应指定值为 true 的形象属性,如上面的代码片段所示 –

父 bean 不能独自实例化,因为它是不残缺的,并且它也被显式标记为 abstract。当定义像这样形象时,它只能用作纯模板 bean 定义,用作子定义的父定义。

正文完
 0