💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 继承Bean配置 * spring允许继承bean的配置,被继承的bean称为父bean.继承这个父bean的bean称为子bean * **子bean从父bean中继承配置,包括bean的属性配置** * 子bean也可以覆盖从父bean继承过来的配置 * **父bean可以作为配置模板,也可以作为bean实例,若只想把父bean作为模板,可以设置`<bean>`的abstract属性设置为true,这样spring就不会实例化这个bean** * **并不是`<bean>`元素里的所有属性都会被继承,比如autowire,abstract等** * 可以忽略父bean的class属性.让bean指定自己的类,而共享相同的属性配置,但此时abstract必须设为true ## 继承 ~~~ <bean name="user" class="com.spring.User"> <property name="name" value="jelly" /> </bean> <!-- 继承 --> <bean id="user1" class="com.spring.User" parent="user"> <property name="age" value="17" /> </bean> ~~~ ## 抽象bean abstract属性设置为true,这样spring就不会实例化这个bean ~~~ <bean name="user" abstract="true"> <property name="name" value="jelly" /> </bean> <!-- 继承 --> <bean id="user1" class="com.spring.User" parent="user"> <property name="age" value="19" /> </bean> ~~~ # 依赖Bean配置 * spring允许用户通过depends-on属性设定bean前置依赖的bean,前置依赖的bean会在本bean实例化之前创建好 * 如果前置依赖于多个bean,则可以通过逗号,或空格的方式配置bean的名称 ~~~ <bean name="car" class="com.spring.Car"> <property name="name"> <value><![CDATA[<奔驰>]]></value> </property> <property name="color" value="黄色"/> </bean> <bean name="user" class="com.spring.User" depends-on="car"> <property name="name" value="jelly" /> </bean> ~~~