ioc容器中bean的常用标签介绍

1.级联属性

在使用外部引用的同时,修改参数数值
注意:bean中的属性(car01中的price也会变成90000)也会被修改,因为是引用

<bean id="car01" class="com.lzt.bean.Car">
        <property name="carName" value="baoma"></property>
        <property name="color" value="baise"></property>
        <property name="price" value="300000"></property>
    </bean>
<!-- 级联属性(属性的属性)赋值 -->
    <bean id="person04" class="com.lzt.bean.Person">
        <!-- 为car赋值的时候修改car价格
         注意:bean中的属性(car01中的price也会变成90000)也会被修改,因为是引用 -->
        <property name="car" ref="car01"></property>
        <property name="car.price" value="90000"></property>
    </bean>

2.abstract标签
添加abstract="true"这个标签的组件不能被获取实例,只能被别人用来继承。
下面就是一个abstract组件

<!-- 通过abstract属性创建模板bean abstract="true" 这个bean不能被获取实例,只能被别人用来继承-->
    <bean class="com.lzt.bean.Person" name="person05" abstract="true" >
        <property name="lastname" value="zhangsan"></property>
        <property name="age" value="18"></property>
        <property name="email" value="[email protected]"></property>
        <property name="gender" value="nan"></property>
    </bean>

然后继承这个组件,会继承组件中所有属性。使用parent指定当前bean的配置信息继承于哪个。

<!-- 通过继承实现属性的重用 -->
    <!-- parent:指定当前bean的配置信息继承于哪个 -->
    <bean class="com.lzt.bean.Person" name="person06" parent="person05">
        <property name="lastname" value="lisi"></property>
    </bean>

3.depends-on标签
通过改变类之间的依赖关系,改变创建顺序。

    <!-- bean的创建顺序就是按照配置顺序 -->
    <!-- 改变bean的创建顺序 -->
    <!-- bean之间的依赖(改变bean的创建顺序) -->
    <bean class="com.lzt.bean.Person" name="person" depends-on="car,book"></bean>
    <bean class="com.lzt.bean.Car" name="car"></bean>
    <bean class="com.lzt.bean.Book" name="book"></bean>

4.scope标签
测试bean的作用域,创建单实例和多实例bean
bean的作用域:指定bean是否单实例
bean的scope属性:
prototype:多实例的
1.多实例的bean在容器启动完成之前,默认不会被创建
2.获取的时候创建bean实例
3.每次获取都会创建一个新的实例

singleton:单实例的 :默认是单实例
1.单实例的bean在容器启动完成之前,就已经创建好对象,保存在容器中了
2.任何获取都是获取之前创建好的对象

request:在web环境下,同一次请求创建一个Bean实例(没用)
session:在web环境下,同一次会话创建一个Bean实例(没用)

<bean class="com.lzt.bean.Book" name="book2" scope="prototype"></bean>

猜你喜欢

转载自blog.csdn.net/weixin_38857307/article/details/109582826