Spring读书笔记(一)之BeanFactory

一、BeanFacotry

  访问一个Spring bean容器的根接口。这是一个Bean容器基本客户端视图;进一步的接口如ListableBeanFactory和configurablebeanfactory供特定用途。

  此接口由包含许多bean定义的对象来实现,每个对象都有唯一的字符串名称标识。根据bean定义,工厂将返回被容器包含的对象(原型设计模式)的任何一个独立实例,或者单个共享实例(一个较好选择的单例设计模式,其中实例是工厂范围内的一个单例)。将返回哪种类型的实例取决于bean工厂配置:API是相同的。自Spring2以来,根据具体的应用程序上下文(例如Web环境中的“请求”和“会话”范围)可获得更多的作用域。

 

 

package org.springframework.beans.factory;
 
public interface BeanFactory {
 
    /**
     * 用来引用一个实例,或把它和工厂产生的Bean区分开,就是说,如果一个FactoryBean的名字为a,那么,$a会得到那个Factory
     */
    String FACTORY_BEAN_PREFIX = "&";
 
    /*
     * 四个不同形式的getBean方法,获取实例
     */
    Object getBean(String name) throws BeansException;
 
    <T> T getBean(String name, Class<T> requiredType) throws BeansException;
 
    <T> T getBean(Class<T> requiredType) throws BeansException;
 
    Object getBean(String name, Object... args) throws BeansException;
 
    boolean containsBean(String name); // 是否存在
 
    boolean isSingleton(String name) throws NoSuchBeanDefinitionException;// 是否为单实例
 
    boolean isPrototype(String name) throws NoSuchBeanDefinitionException;// 是否为原型(多实例)
 
    boolean isTypeMatch(String name, Class<?> targetType)
            throws NoSuchBeanDefinitionException;// 名称、类型是否匹配
 
    Class<?> getType(String name) throws NoSuchBeanDefinitionException; // 获取类型
 
    String[] getAliases(String name);// 根据实例的名字获取实例的别名
 
}

 

posted @ 2017-08-24 15:41  茅坤宝骏氹  阅读(188)  评论(0编辑  收藏  举报