三种getBean的方法

三种getBean的方法 (重载 参数不同)

public interface BeanFactory {
String FACTORY_BEAN_PREFIX = "&";

Object getBean(String var1) throws BeansException;

T getBean(String var1, Class var2) throws BeansException;

Object getBean(String var1, Object... var2) throws BeansException;

T getBean(Class var1) throws BeansException;

T getBean(Class var1, Object... var2) throws BeansException;

ObjectProvider getBeanProvider(Class var1);

ObjectProvider getBeanProvider(ResolvableType var1);

区别

1.根据id,xml配置文件可以有多个相同类型的bean 返回Object对象 2.根据类型,xml配置文件中不能有相同class的bean,返回bean对象


配置了多个同类型bean,此时使用类型的方法获得,会报错如下;

UserServiceImpl bean = applicationContext.getBean(UserServiceImpl.class);

No qualifying bean of type 'com.z.service.Impl.UserServiceImpl' available: expected single matching bean but found 2: Service2,Service

3.根据id和类型

UserServiceImpl bean = applicationContext.getBean("Service2",UserServiceImpl.class);

返回bean对象

posted @ 2022-07-05 21:57  1906zz  阅读(806)  评论(0)    收藏  举报