【Spring】(3)IoC - bean 的概述(大纲)

一、bean的概述

该文章开始,将会系统的按照Spring官方文档进行案例演示。因为官方文档结构非常棒。

如果全部写在这篇文章中会比较长,所以有一些文章我拆分出去了。这篇文章就相当一个总览。

结构:

参考:1.3. Bean Overview

---- 分割线 -----	

命名bean

1.alias标签(别名)

我们可以给对象取别名。

例如,我现在配置文件中配置了一个user1对象,然后我在alias标签中,给这个对象取别名为u。此时如果我需要从ApplicationContext容器中取这个对象时,我可以使用u取到,而不需要使用user1。当然你使用user1也可以取到该对象。

    <bean id="user1" class="com.shengjava.pojo.User">
        <property name="name" value="长生"/>
    </bean>
    <!-- 给id为user1的对象,取别名为u和u1 -->
    <alias name="user1" alias="u"/>

还有另外一种取别名的方式,就是在bean标签中的name属性中配置。

例如,我现在给user1对象取别名,命名为u和u1,此时我可以从ApplicationContext对象中,使用u或u1都能取到该对象。

    <bean id="user1" class="com.shengjava.pojo.User" name="u,u1">
        <property name="name" value="长生"/>
    </bean>

参考:1.3.1. Naming Beans

延迟初始化bean

1.Lazy-initialized Beans

默认情况下,ApplicationContext容器在初始化的时候,会去创建所有单例的bean对象(默认bean对象作用域时就是单例的 ,详情请看bean对象的作用域)。

如果你不想IoC容器(ApplicationContext容器)在初始化(启动)时就创建对象,你可以设置bean对象的属性lazy-init=“true”,这样该对象会在首次请求该对象时才进行创建bean对象。

    <!-- 开启延迟初始化 -->
    <bean id="user" class="com.shengjava.pojo.User" lazy-init="true"/>

如果你觉得在每一个bean上都加上 lazy-init=“true” 太繁琐了,你可以如下这样配置,效果同上。

<beans default-lazy-init="true">
    <!-- no beans will be pre-instantiated... -->
</beans>

参考自:1.4.4. Lazy-initialized Beans

扩展

1.import标签(导入)

xml中我们还可以使用import标签,导入其他的xml配置文件。

比如将其他的xxx.xml配置全部导入到applicationContext.xml配置中,便于管理。

例如,我现在有一个叫做applicationContext.xml的配置文件,我可以在该文件中,使用import表情,导入beans2.xml配置文件。

语法:

 <import resource="beans2.xml"/>

参考:Composing XML-based Configuration Metadata


相关

我的该分类的其他相关文章,请点击:【Spring + Spring MVC + MyBatis】文章目录

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值