微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过实例解析spring bean之间的关系

这篇文章主要介绍了通过实例解析spring bean之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了通过实例解析spring bean之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

两种关系:继承、依赖

一、继承关系

Address.java

package com.gong.spring.beans.autowire; public class Address { private String city; private String street; public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } @Override public String toString() { return "Address [city=" + city + ", street=" + street + "]"; } }

beans-relation.xml

Main.java

package com.gong.spring.beans.autowire; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClasspathXmlApplicationContext; public class Main { public static void main(String[] args) { //1.创建spring的IOC容器对象 ApplicationContext ctx = new ClasspathXmlApplicationContext("beans-relation.xml"); //2.从容器中获取Bean实例 Address address = (Address) ctx.getBean("address"); System.out.println(address.toString()); Address address2 = (Address) ctx.getBean("address2"); System.out.println(address2.toString()); } }

输出

address2继承了address的city配置,因此city=武汉。

当然,我们也可以使用abstract来表明一个Bean是一个抽象Bean抽象Bean可以作为一个模板,且不能被实例化。同时,如果一个bean没有声明class,那么该bean也是一个抽象Bean,且必须指定abstract="true"。

此时,在进行实例化就会报错

Address address = (Address) ctx.getBean("address");

抽象Bean作为父bean,可以实例化它的子Bean

Address address2 = (Address) ctx.getBean("address2"); System.out.println(address2.toString());

二、依赖关系

Car.java

package com.gong.spring.beans.autowire; public class Car { public Car() { } public Car(String name) { this.name = name; } private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Car [name=" + name + "]"; } }

Student.java

package com.gong.spring.beans.autowire; import java.util.List; import java.util.Map; public class Student { private String name; private int age; private double score; private Car car; private Address address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getscore() { return score; } public void setscore(double score) { this.score = score; } public Car getCar() { return car; } public void setCar(Car car) { this.car = car; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", score=" + score + ", car=" + car + ", address=" + address + "]"; } }

beans-relation.xml

标签:JavaScript微信微信的版本号版本号语义化

-->上一篇:Java 详解垃圾回收与对象生命周期下一篇:mybatis 字段名自动转小写的实现 热门搜索

实例解析 

bean实例化 

spring-bean 

单例Bean 

关闭实例 

相关文章

通过实例解析spring bean之间的关系

2021-09-10阅读(2740)评论(0)推荐()

这篇文章主要介绍了通过实例解析spring bean之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

详解Spring Bean 之间的特殊关系

2021-09-27阅读(10580)评论(0)推荐()

在 Spring 容器中,两个 Bean 之间除了通过 建立依赖关系外,还存在着一些特殊关系。这篇文章给大家想想介绍了Spring Bean 之间的特殊关系,...

Spring实例化bean过程解析及完整代码示例

2021-11-05阅读(4704)评论(0)推荐()

这篇文章主要介绍了Spring实例化bean过程解析及完整代码示例,简单分析实例化bean过程并且分享了相关实例,具有一定借鉴价值,需要的朋友可以参考下

Spring Bean实例化实现过程解析

2021-10-06阅读(9924)评论(0)推荐()

这篇文章主要介绍了Spring Bean实例化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Spring Bean的实例化之属性注入源码剖析过程

2021-09-28阅读(3977)评论(0)推荐()

本篇文章主要就是分析Spring源码剖析-Bean的实例化-属性注入的相关知识,通过本文学习AbstractAutowireCapablebeanfactory...

Java之Spring注解配置bean实例代码解析

2021-11-05阅读(5652)评论(0)推荐()

这篇文章主要介绍了Java之Spring注解配置bean实例代码解析,具有一定参考价值,文中还有有关Spring学习的资料下载链接及相关内容推荐,需要的朋友可以...

Spring实战之抽象Bean子Bean定义与用法示例

2021-10-12阅读(6903)评论(0)推荐()

这篇文章主要介绍了Spring实战之抽象Bean子Bean定义与用法,结合实例形式分析了Spring抽象Bean子Bean相关配置、定义与使用操作技巧,需要...

取消

有人回复邮件通知

提交评论

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐