Spring系列第4篇:xml中bean定义详解(-)
本文内容
- bean xml配置文件
- bean元素详解
- 名称和别名详解
- alias元素详解
- 通过import元素引入外部配置
环境
- jdk1.8
- idea
- maven-3.6.1
- spring-5.2.3.RELEASE
bean概念回顾
我们再来回顾一下,被spring管理的对象统称为bean,我们程序中需要用到很多对象,我们将这些对象让spring去帮我们创建和管理,我们可以通过bean xml配置文件告诉spring容器需要管理哪些bean,spring帮我们创建和组装好这些bean对象;那么我们如何从spring中获取想要的bean对象呢,我们需要给bean定义一个名称,spring内部将这些名称和具体的bean对象进行绑定,然后spring容器可以通过这个的名称找对我们需要的对象,这个名称叫做bean的名称,在一个spring容器中需要是唯一的。
bean xml配置文件格式
bean xml文件用于定义spring容器需要管理的bean,常见的格式如下:
<?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-4.3.xsd">
<import resource="引入其他模块 xml配置文件" />
<bean id="bean标识" class="玩转类型名称"/>
<alias name="bean标识" alias="别名" />
</beans>
beans是根元素,下面可以包含任意数量的import、bean、alias元素,下面我们对每个元素进行详解。
bean元素
用来定义一个bean对象。
格式
<bean id="bean唯一标识" name="bean名称" class="完整类型名称" factory-bean="工厂bean名称" factory-method="工厂方法"/>
bean名称
每个bean都有一个名称,叫做bean名称,bean名称在一个spring容器中必须唯一,否则会报错,通过bean名称可以从spring容器获取对应的bean对象。
bean别名
先来说一下什么是别名?
相当于人的外号一样,一个人可能有很多外号,当别人喊这个人的名称或者外号的时候,都可以找到这个人。那么bean也一样,也可以给bean起几个外号,这个外号在spring中叫做bean的别名,spring容器允许使用者通过名称或者别名获取对应的bean对象。
bean名称别名定义规则
名称和别名可以通过bean元素中的id和name来定义,具体定义规则如下::
- 当id存在的时候,不管name有没有,取id为bean的名称
- 当id不存在,此时需要看name,name的值可以通过
,;或者空格
分割,最后会按照分隔符得到一个String数组,数组的第一个元素作为bean的名称,其他的作为bean的别名 - 当id和n