Back to Javatutorial

Spring组件之BeanFactory

docs/Spring全家桶/Spring源码分析/Spring组件分析/Spring组件之BeanFactory.md

1.0.01.7 KB
Original Source

public interface BeanFactory {

/**
 * factoryBeanʹ
 */
String FACTORY_BEAN_PREFIX = "&";

/**
 * ƻȡbean
 */
Object getBean(String name) throws BeansException;

/**
 * ƻȡbean
 */
<T> T getBean(String name, Class<T> requiredType) throws BeansException;

/**
 * ƻȡbean
 */
Object getBean(String name, Object... args) throws BeansException;

/**
 * ͻȡbean
 */
<T> T getBean(Class<T> requiredType) throws BeansException;

/**
 * ͻȡbean
 */
<T> T getBean(Class<T> requiredType, Object... args) throws BeansException;

/**
 * ȡBeanProvider
 */
<T> ObjectProvider<T> getBeanProvider(Class<T> requiredType);

/**
 * ȡBeanProvider
 */
<T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType);

/**
 * Ƿbean
 */
boolean containsBean(String name);

/**
 * ǷΪbean
 */
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;

/**
 * ǷΪԭbean
 */
boolean isPrototype(String name) throws NoSuchBeanDefinitionException;

/**
 * жǷƥ
 */
boolean isTypeMatch(String name, ResolvableType typeToMatch) 
        throws NoSuchBeanDefinitionException;

/**
 * жǷƥ
 */
boolean isTypeMatch(String name, Class<?> typeToMatch) 
        throws NoSuchBeanDefinitionException;

/**
 * ƻȡbean
 */
@Nullable
Class<?> getType(String name) throws NoSuchBeanDefinitionException;

/**
 * ƻȡbean
 */
@Nullable
Class<?> getType(String name, boolean allowFactoryBeanInit) 
        throws NoSuchBeanDefinitionException;

/**
 * beanƻȡbeanı
 */
String[] getAliases(String name);

}