BeanFactory、FactoryBean与ApplicationContext的区别

面试官:BeanFactory和FactoryBean有哪些区别? 区别 说实话,他俩初了名字比较像以外,好像没有其他共同点了。 BeanFactory和FactoryBean有哪些区别? BeanFactory是一个最基础的IOC容器,提供了依赖查找,依赖注入等基础的功能 FactoryBean是创建Bean的一种方式,帮助实现复杂Bean的创建 和BeanFactory相关的还有一个高频的面试题 ApplicationContext和BeanFactory有哪些区别? BeanFactory是一个最基础的IOC容器,提供了依赖查找,依赖注入等基础的功能 Appl. 阅读详情

 

 

BeanFactory、ApplicationContext、FactoryBean的区别​​


BeanFactory&ApplicationContext

1. BeanFactory是IOC容器的底层实现接口,是ApplicationContext的顶级接口;
2. Spring不允许我们直接操作BeanFactory,所以为我们提供了ApplicationContext这个接口;
3. ApplicationContext接口继承了BeanFactory接口;
4. ApplicationContext包含BeanFactory的所有功能,同时还进行更多的扩展;

继承结构图:

 

在上面继承树中,ClassPathXmlApplicationContext和FileSystemXmlApplicationContext两个实现类也是我们常用的。
1. ClassPathXmlApplicationContext:加载类路径下的Spring的配置文件
2. FileSystemXmlApplicationContext:加载磁盘中的Spring的配置文件
​
在他们的父接口ConfigurableApplicationContext中对ApplicationContext又进行了一些扩展,多了以下几个重要方法:
1. void close();//关闭此应用程序上下文,释放实现可能持有的所有资源和锁。这包括销毁所有缓存的单例bean
2. void refresh() throws BeansException, IllegalStateException;//加载或刷新配置的持久表示,配置可以是XML文件、属性文件或关系数据库模式

​


 

FactoryBean

FactoryBean是一个接口,是一个工厂bean,可以用来创建bean。我们可以自定义一个类实现这个接口,这个工厂类就可以创建某些bean,然后将这个工厂类交给Spring容器管理后,我们通过容器获取到的对象不是该工厂类的对象,而是该工厂类中创建的对象。
接口中的方法如下:
1. T getObject() throws Exception;
2. Class<?> getObjectType();
3. boolean isSingleton();
​
这个接口在Spring框架本身中使用较多,比如在AOP ProxyFactoryBean或JndiObjectFactoryBean中,在我们开发过程中并不常用。

 

保姆级教程:在K230开发板上为张大头步进电机实现位置、速度、回零全功能控制 本文提供了一份详细的K230开发板与张大头步进电机的控制教程,涵盖硬件连接、协议解析、模块化代码实现及实战案例。通过位置、速度和回零功能的全面讲解,帮助开发者快速掌握步进电机的高级控制技术,适用于自动化、机器人等应用场景。 阅读详情

相关推荐

算法交易VWAP&TWAP

VWAP的一些算法模型细节参考博客地址http://blog.sina.com.cn/s/blog_ad47bc5b01014elx.html 日内交易量预测模型http://blog.sina.com.cn/s/blog_976461170102v43p.html 算法交易其实主要是用在基金公司、券商量化比较多。例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完

shulixu的博客 1万+

谈谈BeanFactory,FactoryBean,ApplicationContext的区别

BeanFactory,FactoryBean,ApplicationContext的区别 BeanFactory是个接口,是ioc最基本的容器,为其他具体的IOC容器提供了最基本的规范,像XmlBeanFactory,ApplicationContext 等具体的容器都是实现了BeanFactory,再在其基础之上附加了其他的功能。作用是负责生产和管理bean,不支持aop,web等spring插件 FactoryBean是一个接口,当在IOC容器中的Bean实现了FactoryBean后,通

hk1052606583的博客 596

卡门涡街可视化实战:从网格加密策略到动画后处理技巧

本文详细介绍了利用ANSYS Fluent进行卡门涡街可视化模拟的全流程,包括网格加密策略、求解器设置、涡街捕捉及动画后处理技巧。通过计算流体力学(CFD)方法,帮助工程师和研究人员高效模拟圆柱绕流现象,优化工程设计。

weixin_29309785的博客 414

Spring中BeanFactory, FactoryBean,ApplicationContext的区别

Spring中BeanFactory, FactoryBean,ApplicationContext的区别

果酱 の 博客 1133

Conformal LEC逻辑等价性检查介绍和参考脚本

分为三个产品:Conformal L、Conformal XL、Conformal GXL。L是功能性检查,XL支持复杂数据通路的综合和APR优化,GXL支持定制的stdcell和定制memory的检查。Cadence Conformal Equivalence Checker,就是常说的LEC,可以用来验证RTL、门级网表、甚至spice网表的逻辑等价性。在setup模式下,读入库、golden设计、有修改的设计,并指定一些option。对于简单的设计,通过GUI来做LEC也是可以的。

weixin_44606964的博客 919

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1657

ApplicationContext 与 BeanFactory 与 FactoryBean

ApplicationContext 包含 BeanFactory(ApplicationContext:项目,BeanFactory:工具类),BeanFactory提供了一些对bean管理的基础功能,比如:获取Bean,注册Bean,获取beanDefinition对象,注册beanDefinition对象等。但包扫描,bean的命名等BeanFactory无法提供。MyFactoryBean(实现FactoryBean接口)

qq_53519086的博客 400

无人机频谱侦测与智能识别技术实战解析

本文深入解析无人机频谱侦测与智能识别技术实战应用,涵盖无线电侦测、信号处理和定位技术等核心内容。通过频谱分析、特征提取和机器学习算法优化,实现高精度无人机识别与定位,并分享复杂环境下的应对策略和系统集成经验。

weixin_28419039的博客 489

Spring中ApplicationContext和BeanFactory以及FactoryBean总结整理

Spring中ApplicationContext和BeanFactory以及FactoryBean总结整理

u014753478的博客 1436

保姆级教程:用ROS2 Humble + Gazebo Classic 从零搭建一个能键盘控制的差分AGV模型

本文提供了一份详细的ROS2 Humble与Gazebo Classic教程,指导用户从零开始搭建一个键盘控制的差分AGV模型。内容涵盖环境配置、Xacro文件设计、Gazebo仿真集成以及键盘控制实现,特别针对常见问题提供解决方案,帮助开发者快速掌握ROS2机器人仿真技术。

weixin_30387423的博客 169

武汉大学朱玉贤院士团队再发Nature Genetics,阐述棉花独特折叠胚胎形成的分子调控与演化机制

武汉大学朱玉贤院士团队再发Nature Genetics,阐述棉花独特折叠胚胎形成的分子调控与演化机制。

Pangenes的博客 1335

BeanFactory和FactoryBean以及ApplicationContext的区别

BeanFactory BeanFactory是IOC最基本的容器,负责生产和管理bean,它在为其他具体的IOC容器提供了最基本的规范,例如XmlBeanFactory、ApplicationContext等具体的挺起都实现了BeanFactory,再在其基础上附加了其他功能 BeanFactory源码 package org.springframework.beans.factory; ...

qq_36879870的博客 1047

Spark中Application、Job、Stage和Task区别详解

在Spark中,有一些关键的概念,如Application、Job、Stage和Task,它们描述了Spark作业的不同层次和组成部分。下面我将详细介绍每个概念,并通过示例说明它们之间的区别。

优快云 精品推荐 904

Spring核心之FactoryBean,BeanFactory,ApplicationContext的区别

以Factory结尾,表示它是一个工厂类(接口), 它负责生产和管理bean的一个工厂定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是Spring IOC所遵守的最底层和最基本的编程规范。在Spring中,是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖在Spring代码中,只是个接口,并不是IOC这些实现类从不同的维度对进行了扩展。IOC容器,并且提供方法支持外部程序对这些bean。

上善若泪 1328

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ApplicationContext 和beanFactory 和 factoryBean的区别以及联系

背景 最近有看一些面试题,很多框架都有提到三者的关系和区别。所以今天打算看一下。 简单描述 beafactory是Spring IOC中的基础容器,用来解析BeanDefination存放bean的容器,还会对外提供一些操作bean的接口,AplicationContext是BeanFactory的扩展容器,基于BeanFactory 将其和其他组件整合到了一起。而factoryBean是以bean结尾的我们就可以知道它是以bean结尾的,所以我们可以认为他是一个特殊的bean,可以用来生产bean的一个b

weixin_40413961的博客 1410

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

BeanFactory和FactoryBean的区别、BeanFactory和ApplicationContext区别

1.BeanFactroy采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用getBean()),才对该Bean进行加载实例化,这样,我们就不能发现一些存在的Spring的配置问题。在Spring代码中,BeanFactory只是个接口,并不是IOC容器的具体实现,但是Spring容器给出了很多种实现,如 DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,都是附加了某种功能的实现。

feiyu97的博客 137

Spring_BeanFactory\FactoryBean\ApplicationContext的区别

文章目录BeanFactoryFactoryBeanApplicationContext参考 BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底层和最基本的编程规范。在 Spring 代码中, BeanFactory 只是个接口,并不是 IOC 容器的具体实现,但是 Spring 容器给出了很多种实现,如 DefaultListableBeanFactory 、 XmlBeanFactor

Chill Lyn 478

BeanFactory、 ApplicationContext、FactoryBean区别与联系

BeanFactory 概述 Spring 作为一种IoC容器最大的目的就是降低组件与组件之间的依赖关系。而BeanFactory作为整个Spring IoC容器的核心使用了一种统一的方法来装配所有的应用对象,通过Java的反射机制和依赖注入来实现这一装配过程,使受之管理的对象无需知道Spring的存在,同时也降低了组件间的依赖程度,同时受管对象的生命周期由BeanFactory来统一管理,开...

CrankZ的博客 2053

BeanFactory和FactoryBean区别(附BeanFactory和ApplicationContext的区别)

BeanFactory和FactoryBean区别(附BeanFactory和ApplicationContext的区别)

weixin_42585386的博客 941

面试中常被问的BeanFactory、FactoryBean、和ApplicationContext的区别

Java程序员从某种程度上可以说是Spring程序员,日常开发工作中,估计不是折腾spring全家桶就是各种框架与Spring的整合,那么作为一名Spring程序员,面试被问到BeanFactory、FactoryBean、和applicationContext的区别概率也是蛮大的,今天就个人的一些理解来说一说,不喜勿喷,欢迎指正。PS:通过FactoryBean创建的Bean不是存放在我们常说的Spring三级缓存中的一级缓存(普通的Bean创建完成之后是放在一级缓存的)

qq_17805707的博客 145

ApplicationContext,BeanFactory,FactoryBean区别与联系

BeanFactory是Spring里面最低层的接口,提供了简单的容器的功能,只提供了实例化对象和拿对象的功能。ApplicationContext应用上下文,继承了BeanFactory接口,它是Spring的各更高级的容器,提供了更多的有用的功能。FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式,并不是通过实例化bean="xxx",来为接口注入实现类,而是调用...

stack优快云的博客 380

Spring 中 BeanFactory 和 FactoryBean 的区别,BeanFactory和ApplicationContext有什么区别?

中存在的配置错误,这样有利于检查所依赖属性是否注入。ApplicationContext启动后预载入所有的单例。bean之间的依赖关系。我们更常用的ApplicationContext。,那么在需要的时候,不需要等待创建bean,因为它们已经创建好了。对外暴露的ApplicationContext作为。这样,我们就不能发现一些存在的。提供了依赖注入和控制反转的功能,不提供复杂的。整个对象的创建过程是由用户自己来控制的,里面最底层的接口,包含了各种Bean。是在容器启动时,一次性创建了所有的。

qq_63431773的博客 110

【略有料】BeanFactory 简介以及它 和FactoryBean的区别(阿里面试)

以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了FactoryBean接口的Bean,根据该Bean的ID从BeanFactory中获取的实际上是FactoryBean的getObject()返回的对象,而不是FactoryBean本身,如果要获取FactoryBean对象,请在id前面加一个&符号来获取。存在的问题:层与层之间的依赖。service层要用dao层对象需要配置到xml配置文件中,至于对象是怎么创建的,关系是怎么组合的都交给了spring框架去实现。

daobuxinzi的博客 691

Spring FactoryBean和BeanFactory 区别

1 BeanFactory 是ioc容器的底层实现接口,是ApplicationContext 顶级接口 spring不允许我们直接操作 BeanFactory bean工厂,所以为我们提供了ApplicationContext 这个接口 此接口集成BeanFactory 接口,ApplicationContext包含BeanFactory的所有功能,同时还进行更多的扩展。 BeanFactor...

. 1万+

FactoryBean和BeanFactory及ApplicationContext

1、FactoryBean 官网:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-factory-extension-factorybean You can implement the org.springframework.beans.factory.Fact...

qqxhb 资源共享 370

面试热点详解 —— BeanFactory 和 FactoryBean 的关联与区别

我们应当发现了:BeanFactory 和 FactoryBean 除了名字相似、都能包含一些Bean实例之外。其实没有什么相同的地方,前者是SpringIOC的核心,是存放一切Bean的容器;后者只不过是对复杂Bean的一种包装,比如我们常用的myBatis组件,针对各个mapper级接口生成的Bean实例,就是以FactoryBean的形式存在Spring容器中的。

战斧的博客 3426
上一篇: 使用Java发送邮件
小狐狸218
博客等级 码龄11年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值