从容器中获取Bean实例方式
*类型获取
*id获取
getBean(Class<T>arg0):根据类型获取实例对象

此方式好处就是不用再进行类型强转,在方法中已经制定了,但是也有局限性,必须保障配置文件中只有一个bean标签返回User类型实例,否则会报错
错误详细如下:
在ApplicationContext.xml配置文件中三种方式返回的对象类型都是User

测试如下:

org.springframework.beans.factory.NoUniqueBeanDefinitionException:No qualifying bean of type 'com.itcodeschool.domain.User'available:expectedsinglematching bean but found 3:com.itcodeschool.factory.BeanFactory01#0,userBean,userId
此错误明确告知你期望的bean类型有三个
getBean(String arg0):根据id获取实例对象

此方式需根据xml配置中的<bean>标签id属性值来获取Bean实例,需要进行强转。开发中建议使用此时方式获取bean实例。

本文介绍了Spring框架中两种主要的Bean实例获取方式:通过类型获取和通过ID获取。通过类型获取的方式无需进行类型转换,但可能因配置文件中有多个相同类型的Bean而引发错误。通过ID获取则需要指定Bean的ID并进行类型转换。
173万+

被折叠的 条评论
为什么被折叠?



