ApplicationContext中getBean詳解

露水上的青蛙發表於2017-09-04

在org.springframework.context包中有一個介面叫 applicationContext

applicationContext中有一個getBean方法,此方法繼承之BeanFactory

Methods inherited from interface org.springframework.beans.factory.BeanFactory

containsBean, getAliases, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch

在BeanFactory中getBean描述如下

 Object getBean(String name)
          Return an instance, which may be shared or independent, of the specified bean.

返回一個指定bean的例項,它可以是共享的、也可以是獨立的。 返回的是物件

Method Detail

Object getBean(String name)throws BeansException
Return an instance, which may be shared or independent, of the specified bean.

This method allows a Spring BeanFactory to be used as a replacement for the Singleton or Prototype design pattern. Callers may retain references to returned objects in the case of Singleton beans.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance. 

Parameters:
name - the name of the bean to retrieve
Returns:
an instance of the bean
Throws:
NoSuchBeanDefinitionException - if there is no bean definition with the specified name
BeansException - if the bean could not be obtained
例項:

ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");

UserService service = (UserService)ctx.getBean("userService");

因為getBean返回一個物件,所以要強制轉換

 

相關文章