Spring中的BeanFactory和FactoryBean的区别

一句话介绍

BeanFactory接口用来生产Bean,它处理生产bean的接口体系的最顶层,getBean方法可以获取bean。FactoryBean接口用来定制Bean的生产过程,getObject方法中可以实现自定义过程。

源码

BeanFactory源码

public interface BeanFactory {
    String FACTORY_BEAN_PREFIX = "&";

    Object getBean(String var1) throws BeansException;

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

     T getBean(Class var1) throws BeansException;

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

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

    boolean containsBean(String var1);

    boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;

    boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;

    boolean isTypeMatch(String var1, ResolvableType var2) throws NoSuchBeanDefinitionException;

    boolean isTypeMatch(String var1, Class var2) throws NoSuchBeanDefinitionException;

    Class getType(String var1) throws NoSuchBeanDefinitionException;

    String[] getAliases(String var1);
}

FactoryBean源码

public interface FactoryBean {
    T getObject() throws Exception;

    Class getObjectType();

    boolean isSingleton();
}
public interface FactoryBean {
    T getObject() throws Exception;

    Class getObjectType();

    boolean isSingleton();
}

原文地址:https://www.cnblogs.com/muxuanchan/p/9782833.html

时间: 2024-09-30 11:29:02

Spring中的BeanFactory和FactoryBean的区别的相关文章

Spring学习笔记——Spring中的BeanFactory与FactoryBean

BeanFactory BeanFactory是Spring的org.springframework.beans.factory下的一个接口,是Spring IOC所遵守的基本编程规范,他的实现类有DefaultListableBeanFactory.XmlBeanFactory.ApplicationContext等,都各自实现自己的功能. FactoryBean 通常Spring通过反射机制利用bean的class属性来指定实现类的实例化Bean,在某些情况下实例化Bean的过程比较复杂,如

Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法

1. BeanFactory BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂.在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化.定位.配置应用程序中的对象及建立这些对象间的依赖. Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系.XmlBeanFactory类将持有此XML配置元数据,并用它来构

Spring中<ref local=""/>与<ref bean=""/>区别

小 Spring中<ref local=""/>与<ref bean=""/>区别 (2011-03-19 19:21:58) 转载▼ 标签: 杂谈   <ref local="xx"/>  用"local"属性指定目标其实是指向同一文件内对应"id"属性值为此"local"值的索引"local"属性的值必须和目标bean的id属性

spring中classpath和classpath*的配置区别

转自:http://www.micmiu.com/j2ee/spring/spring-classpath-start/ —————————————————————————————————————————— 在使用spring时,经常会看到类似 classpth:.classpath*: 这样的前缀,不管是加载spring xml配置文件还是其配置文件中加载资源文件都会看到这两种前缀配置,其实这两种前缀是有区别的,下面将举例详细解释. [一].测试项目准备 我们以spring中加载propert

Spring中BeanFactory与FactoryBean的区别

在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混. 一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bean的通用方法.Spring的容器都是它的具体实现如: DefaultListableBeanFactory XmlBeanFactory ApplicationContext 这些实现类又从

Spring 中拦截器与过滤器的区别

spring 中拦截器 与servlet 的filter 有相似之处.比如二者都是aop 编程思想的体现都能实现权限检查,日志记录等. 不同之处 使用范围不同 Filter 是Servlet 规定的.只能用于web 程序.而拦截器既可以用于Web 程序,也可以用于Apllicatioon,Swing程序中. 规范不同:Filter是在SerVlet 规范定义的,是Servlet容器支持的.而拦截器是在Spring 容器内的,Spring 框架所支持的. 使用资源不同:同其他代码块一样,拦截器也是

spring中的BeanFactory与ApplicationContext的作用和区别?

作用: 1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期.2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持b. 资源访问:Resource rs = ctx. getResource(“classpath:config.properties”), “file:c:/config.properties”c. 事件传递:通过实

BeanFactory与FactoryBean的区别

有很多常用的FactoryBean类: 1.org.springframework.scheduling.quartz.SchedulerFactoryBean 2.org.springframework.scheduling.quartz.CronTriggerFactoryBean 3.org.springframework.scheduling.quartz.SimpleTriggerFactoryBean 4.org.springframework.scheduling.quartz.J

Spring中IOC与DI的的区别

依赖注入的前提: 有IOC的环境,也就是将必须对象的创建权交给了Spring. DI 介绍 Dependency Injection 依赖注入.需要有IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去. IOC与DI的的区别: IOC:  控制反转,将类的对象的创建交给Spring类管理创建. DI:    依赖注入,将类里面的属性在创建类的过程中给属性赋值. DI和IOC的关系: DI不能单独存在,DI需要在IOC的基础上来完成. 这样做得好处:做到了单一