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"/>
歧义问题
假如有两个继承自Student
的 ArtStudent
和 SportStudent
类,都给他们配置 Bean,但获取对象时获取他们的父类 Student
时,会出现定义不唯一异常。
因此如果我们需要一个Bean并且使用类型进行获取,那么必须要指明类型并且不能出现歧义:
ArtStudent student = context.getBean(ArtStudent.class);
student.art();