Spring bean之间的关系、bean的作用范围

Spring中bean之间的关系有三种:1.继承、2.依赖、3.引用

1.继承:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
    <!-- 首先定义一个抽象类abstract的属性值设为true -->
    <bean id="abstractPeople" class="com.java1234.entity.People" abstract="true">
        <property name="className" value="高三5班"></property>
        <property name="age" value="19"></property>
    </bean>
    <!-- 定义一个张三继承自abstractPeople,在这里张三,李四是不需要实体类支撑的 -->
    <bean id="zhangsan" parent="abstractPeople" depends-on="autority">
        <property name="id" value="1"></property>
        <property name="name" value="张三"></property>
    </bean>
    <!-- 定义一个李四继承自abstractPeople,但是重写了父类的age -->
    <bean id="lisi" parent="abstractPeople">
        <property name="id" value="2"></property>
        <property name="name" value="李四"></property>
        <property name="age" value="20"></property>
    </bean>
</beans>

 2.依赖关系:(当执行某个bean时,我想让它在执行时先去执行某个bean)

<bean id="zhangsan" parent="abstractPeople" depends-on="autority">
<!-- 这时就要在其加 depends-on属性,属性值就是要在此之前执行的bean -->
        <property name="id" value="1"></property>
        <property name="name" value="张三"></property>
    </bean>

3.引用关系:(就是之前说过的,注入一个bean,在这里就不赘述了)

抓的图:重点掌握1.2就可以了其他了解。

singleton是默认的单例模式。prototype则是多例

原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6618718.html