这篇文章主要介绍了通过实例解析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");
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实例化
单例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 举报,一经查实,本站将立刻删除。