长生的梦呓


  • 归档
  • 算法
  • 基础
  • 关于

  • 分类
  • 日志
  • Servlet
  • Archive
  • 数据结构
  • IO 流

  • 标签
  • 友链
  • MyBatis
  • About
  • Spring 5
  • Java SE
  • Java EE
  • Algorithms
  • 新特性
  • 位运算技巧

  • 搜索
内网穿透 项目实战 数据库 MySQL 安卓踩坑 开发工具 设计模式 Enum 枚举 Linux MyBatis-plus JSON IDEA Transactions AOP IO 流 DP IoC 与 DI 位运算技巧 工具类 学习技巧 Git JDK 排序 Spring Boot Spring MVC Spring Framework MyBatis Log4J Regex Jsoup JDBC 数据结构 递推 递归 算法 Servlet与JSP 小难 中等 简单

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

发表于 2020-04-05 | 0 | 阅读次数 294

一、bean的概述

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

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

结构:

  • 1.实例化bean对象(三种方式)
    • 链接:【Spring】(3.1)实例化bean对象(三种方式)
  • 命名bean(请参考下文:1.alias标签(别名))
  • 2.bean对象的作用域
    • 链接:【Spring】(3.2)bean对象的作用域
  • 3.依赖注入(基于构造器)
    • 链接:【Spring】(3.3)依赖注入(基于构造器)
  • 4.依赖注入(基于setter)
    • 链接:【Spring】(3.4)依赖注入(基于setter)
  • 5.依赖注入(扩展)
    • 链接: 【Spring】(3.5)依赖注入(扩展)
  • 6.自动装配
    • 链接: 【Spring】(3.6)自动装配
  • 延迟初始化bean(请参考下文:1.Lazy-initialized Beans)

参考: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

  • 本文作者: 长生的梦呓
  • 本文链接: https://shengjava.com/archives/spring3ioc-bean的概述大纲
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 内网穿透 # 项目实战 # 数据库 # MySQL # 安卓踩坑 # 开发工具 # 设计模式 # Enum # 枚举 # Linux # MyBatis-plus # JSON # IDEA # Transactions # AOP # IO 流 # DP # IoC 与 DI # 位运算技巧 # 工具类 # 学习技巧 # Git # JDK # 排序 # Spring Boot # Spring MVC # Spring Framework # MyBatis # Log4J # Regex # Jsoup # JDBC # 数据结构 # 递推 # 递归 # 算法 # Servlet与JSP # 小难 # 中等 # 简单
【Spring】(2)Spring 的Ioc简单使用(创建对象)
【Spring】(3.1)实例化bean对象(三种方式)
  • 文章目录
  • 站点概览
长生的梦呓

长生的梦呓

110 日志
39 分类
40 标签
RSS
E-mail CSDN
Creative Commons
Links
  • CSDN 地址
  • waltz26
  • Ryan Wang's Blog
  • JohnNiang's Blog
  • 廖雪峰
  • 菜鸟教程
© 2021 长生的梦呓
浙ICP备20005262号-1