Java框架spring 学习笔记(五):Bean定义继承

本文内容纲要:Java框架spring 学习笔记(五):Bean定义继承

子 bean 的定义继承父定义的配置数据。子定义可以根据需要重写一些值,或者添加其他值。

编写HelloWorld.java

1 package com.example.spring;

2

3 public class HelloWorld {

4 private String message1;

5 private String message2;

6 public void setMessage1(String message){

7 this.message1 = message;

8 }

9 public void setMessage2(String message){

10 this.message2 = message;

11 }

12

13 public void getMessage1(){

14 System.out.println("Your Message1 : " + message1);

15 }

16 public void getMessage2(){

17 System.out.println("Your Message2 : " + message2);

18 }

19 }

编写HelloSpring.java

1 package com.example.spring;

2

3 public class HelloSpring {

4 private String message1;

5 private String message2;

6 private String message3;

7

8 public void setMessage1(String message){

9 this.message1 = message;

10 }

11

12 public void setMessage2(String message){

13 this.message2 = message;

14 }

15

16 public void setMessage3(String message){

17 this.message3 = message;

18 }

19

20 public void getMessage1(){

21 System.out.println("Spring Message1 : " + message1);

22 }

23

24 public void getMessage2(){

25 System.out.println("Spring Message2 : " + message2);

26 }

27

28 public void getMessage3(){

29 System.out.println("Spring Message3 : " + message3);

30 }

31 }

编写Beans.xml,使用parent属性将“helloSpring”定义为“helloWorld”的子Bean,这个子Bean继承message2的属性,重写message1的属性,并且引入一个属性message3。

1 <?xml version="1.0" encoding="UTF-8"?>

2 <beans xmlns="http://www.springframework.org/schema/beans"

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

5

6 <bean id="helloWorld" class="com.example.spring.HelloWorld">

7 <property name="message1" value="Hello World : message1"></property>

8 <property name="message2" value="Hello World : message2"/>

9 </bean>

10

11 <bean id="helloSpring" class="com.example.spring.HelloSpring" parent="helloWorld">

12 <property name="message1" value="Hello Spring : message1"/>

13 <property name="message3" value="Hello Spring : message3"/>

14 </bean>

15

16 </beans>

编写Application.java

1 package com.example.spring;

2

3 import org.springframework.context.support.AbstractApplicationContext;

4 import org.springframework.context.support.ClassPathXmlApplicationContext;

5

6 public class Application {

7 public static void main(String[] args) {

8 //bean配置文件所在位置 D:\\IdeaProjects\\spring\\src\\Beans.xml

9 //使用AbstractApplicationContext容器

10 AbstractApplicationContext context = new ClassPathXmlApplicationContext("file:D:\\IdeaProjects\\spring\\src\\Beans.xml");

11 HelloWorld objA = (HelloWorld)context.getBean("helloWorld");

12 objA.getMessage1();

13 objA.getMessage2();

14

15 HelloSpring objB = (HelloSpring) context.getBean("helloSpring");

16 objB.getMessage1();

17 objB.getMessage2();

18 objB.getMessage3();

19 }

20 }

运行输出

Your Message1 : Hello World : message1

Your Message2 : Hello World : message2

Spring Message1 : Hello Spring : message1

Spring Message2 : Hello World : message2

Spring Message3 : Hello Spring : message3

本文内容总结:Java框架spring 学习笔记(五):Bean定义继承

原文链接:https://www.cnblogs.com/zylq-blog/p/7793450.html

以上是 Java框架spring 学习笔记(五):Bean定义继承 的全部内容, 来源链接: utcz.com/z/362563.html

回到顶部