Spring IOC容器基于配置文件装配Bean(7) ------bean之间的依赖关系

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--Spring中bean的关系主要有依赖关系和继承关系-->

    <!-- 父bean -->
    <!--<config id="addressBean" class="com.spring.cn.configig.autowire.AddressBean"-->
    <!--p:city="成都" p:street="孵化园街道"/>-->

    <!--
        1.抽象bean,不能被IOC实例化,只能被继承,abstract="true"设置抽象bean
        2.并不是所有的属性都会被子类bean继承,比如abstract
        3.若某一个bean的class属性没有指定,则该bean一定是一个抽象bean
        -->
    <bean id="addressBean" class="com.spring.cn.config.autowire.AddressBean"
          p:city="成都" p:street="孵化园街道" abstract="true"/>

    <!-- bean配置的继承,使用parent属性指定继承哪个bean -->
    <!--子bean-->
    <bean id="addressBean1" parent="addressBean"/>

    <!-- 重写city,street -->
    <bean id="addressBean2" parent="addressBean1"
          p:city="重庆" p:street="解放碑"/>

    <bean id="carBean" class="com.spring.cn.config.autowire.CarBean"
          p:brand="奔驰" p:price="200000"/>

    <!--
        bean的依赖关系
        1. 可以通过depends-on属性设定bean的前置依赖关系,前置依赖bean会在本bean初始化之前创建好
        2. 如果前置依赖于多个bean,则可以通过逗号,空格的方式添加
    -->
    <bean id="personBean" class="com.spring.cn.config.autowire.PersonBean"
          p:name="donleo" p:addressBean-ref="addressBean2" depends-on="carBean"/>

</beans>
复制代码

 

posted @   donleo123  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示