Bean配置文件之bean元素、alias元素、import元素

  • 前言:

    • 在Spring家族项目中,我们经常使用注解来配置Bean对象,很少用到xml配置文件

    • 原因:

      • 因为使用注解来配置Bean对象,只需加个注解即可
      • 而xml配置Bean对象,则需要写大量的bean元素,容易造成配置文件的繁冗
    • 但是掌握如何创建xml配置文件,有助于我们快速掌握相关注解的作用

案例源码:码云仓库的base-002子项目

1、bean元素

  • 作用:用来定义一个bean对象

  • 基本格式:

    <bean id="bean唯一标识(bean名称)" name="bean名称或别名" class="完整类型名称" />
    
    • class为必需项
  • bean名称:

    • 每个bean对象都有一个名称,即bean名称。该名称在容器中是唯一的,否则会报错
    • 在bean元素中,id和name均可定义bean名称。name定义bean名称,看下面的bean名称与别名定义规则部分
  • bean别名:

    • 每个bean对象除了bean名称外,还可以有许多别名。Spring容器允许通过bean名称或别名来获取bean对象
    • 取别名有两种方式:1)bean元素的name属性指定;2)alias元素
  • bean名称与别名的定义规则

    • name的值可以通过分隔符,;或者空格进行分割,按照分隔符得到一个String数组,取数组的第一个元素为bean名称,其余作为bean别名

      bean名称与别名的定义规则 bean名称 bean别名
      若id、name均存在 取id值 取name值
      若id存在,name不存在 取id值
      若id不存在,name存在,取决于name 取name数组的第一个元素 取name数组除第一个元素的其它元素
      若id、name均不存在 完整类名#数字编号 第一个bean对象有别名,取值为完整类名
    • 若id、name均不存在,bean名称、别名由Spring容器自动生成

      • bean名称:完整类名#数字编号,数字编号从0开始。如java.lang.String#0,java.lang.String#1
      • bean别名:完整类名。若有2个及以上的bean对象均未指定id、name,则只有第一个bean对象有别名,其余为空
  • 案例

    • 演示bean名称与别名的用法

    • 要用到的两个方法

      //通过bean名称获取该bean的所有别名
      String[] getAliases(String var1);
      
      //返回spring容器中定义的所有bean名称
      String[] getBeanDefinitionNames();
      
    • 配置文件applicationContext.xml

      <?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">
          <!--    id,name均存在-->
          <bean id="study1" name="study1_1"  class="com.spring.study.SpringStudy" />
          <bean id="study2" name="study2_1,study2_2;study2_3 study2_4" class="com.spring.study.SpringStudy"/>
      
          <!--id存在,name不存在-->
          <bean id="study3" class="com.spring.study.SpringStudy"/>
      
          <!--id不存在,name存在-->
          <bean name="study4,study4_1;study4_2 study4_3" class="com.spring.study.SpringStudy"/>
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值