Spring 的配置文件可以写多个,并且可以互相导入,通过import标签:

<?xml version="1.0" encoding="UTF-8"?>
<beans ...>
    <import resource="test.xml"/>
</beans>

<bean/>

上述单标签表示一个 bean,而要想其生效需要添加 class 类,我们可以直接通过 Student.class 来获取某个对象的类,然后在请求对象时也是用该类来请求。

或者是再在bean中加上 name 标签,这样就可以通过自己定义的name来请求对象。若还有其他名字还可以再添加 alias 标签:

<bean name="a" class="com.test.bean.Student"/>
<alias name="a" alias="test"/>

歧义问题

假如有两个继承自StudentArtStudentSportStudent 类,都给他们配置 Bean,但获取对象时获取他们的父类 Student时,会出现定义不唯一异常。

因此如果我们需要一个Bean并且使用类型进行获取,那么必须要指明类型并且不能出现歧义:

ArtStudent student = context.getBean(ArtStudent.class);
student.art();