BeanFactory与FactoryBean有什么区别?
相同点:都是用来创建bean对象的
不同点:使用beanFactory创建对象的时候,必须要遵循严格的生命周期流程,太复杂了,如果想要简单的自定义某个对象的创建,同时创建好的对象想要交给spring来管理,那么就需要实现FactoryBean接口了
这个接口里有三个方法:isSingleton:是否是单例对象
getObjectType:获取返回对象的类型
getObject:自定义创建对象的过程(new 、反射、动态代理)
可以理解为:自己定制整个创建的过程,不再像之前的按照bean的生命周期那样去创建bean。
BeanFactory是提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范,FactoryBean可以说为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式,我们可以在getObject()方法中灵活配置
BeanFactory与FactoryBean有什么区别?的更多相关文章
- Spring之BeanFactory和FactoryBean接口的区别
		目录 一.BeanFactory接口 二.FactoryBean接口 1.简单实现 2.增强实现 3.FactoryBean的实际使用案例 三.总结 @ Spring框架中的BeanFactory ... 
- spring:Beanfactory和ApplicationContext、BeanFactory 和 FactoryBean
		1.Beanfactory和ApplicationContext有什么区别 ApplicationContext (1)在配置文件加载后创建bean 利用debug方式,在Student类的无参构造方 ... 
- BeanFactory和FactoryBean的区别
		转自:http://blog.csdn.net/wangbiao007/article/details/53183764 1.BeanFactory BeanFactory是IOC最基本的容器,负责生 ... 
- Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法
		Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法 1. BeanFactory BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于 ... 
- Spring中BeanFactory与FactoryBean的区别
		在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混. 一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层 ... 
- BeanFactory 和FactoryBean的区别
		转自:https://www.cnblogs.com/aspirant/p/9082858.html BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是 ... 
- 一文读懂BeanFactory和FactoryBean区别
		一直以来,很多人对于Spring中的BeanFactory和FactoryBean都是分不清楚的 BeanFactory 这个其实是所有Spring Bean的容器根接口,给Spring 的容器定义一 ... 
- Spring中BeanFactory与FactoryBean到底有什么区别?
		一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bea ... 
- 转:BeanFactory和FactoryBean的区别
		一.BeanFactory简介 BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持 ... 
随机推荐
- MySQL数据库学习打卡 DAY2
			今天学习了MySQL的DML操作,完成了关于增删改查所有基本内容的学习. 
- Spring Boot Starter 和 ABP Module
			Spring Boot 和 ABP 都是模块化的系统,分别是Java 和.NET 可以对比的框架.模块系统是就像乐高玩具一样,一块一块零散积木堆积起一个精彩的世界.每种积木的形状各不相同,功能各不相同 ... 
- golang中的排序算法实现
			1. 冒泡排序算法实现 package main import "fmt" func main() { values := []int{3, 98, 55, 46, 22, 3, ... 
- Windows 下如何查看文件夹被哪个进程所占用
- 负载均衡的比例(权重,ip_hash,轮询)
			目录 一:负载均衡的比例 1.轮询 2.权重 3.ip_hash 二:测试轮询 1.测试 2.重启 3.网址测试 三:测试ip_hash 一:负载均衡的比例 1.轮询 # 默认情况下,Nginx负载均 ... 
- 学习Java第9天
			今天所作的工作: 反射,枚举类型与泛型 明天工作: 1.线程 2.网络通信 所遇到的问题及解决方法: 反射基本思想,泛型类似于类模板. 理解反射太难了,转悠了好半天,关键是理解反射的思想,才容易学. 
- Eclipse不能启动,提示:The Eclipse executable launcher was unable to locate its companion launcher jar
			原因分析:JDK版本与eclipse不匹配 如jdk和eclipse版本号必须统一,64位都是64位,32位都是32位. jdk版本可以用命令,cmd进入命令窗口,然后输入java -version, ... 
- c语言字符串函数详解
			转载请注明来源:https://www.cnblogs.com/hookjc/ oid *memset(void *dest, int c, size_t count); 将dest前面count个字 ... 
- 【VUE】vue中遍历数组和对象
			一.遍历对象 对象数据 cities:{ "A":[{ "id": 56, "spell": "aba", " ... 
- 学习jsp篇:jsp Session介绍
			1.Session基本介绍 Session---会话,它是一个内置对象.会话打个比方说就是浏览网站:开始到结束,或者说购物从开始到结束. 2.Session机制 客户端在第一次请求服务端时,服务端会产 ... 
