1. BeanFactory和FactoryBean均为接口;
  2. BeanFactory为IOC容器的创建提供了一个最底层的规范,主要方法包括contains(bean), getBean(class, beanName),isSingleton(name)等;子接口有ApplicationContext,ListableBeanFactory, WebApplicationContext等;实现类有AbstractApplicationContext,  AbstractBeanFactory, ClassPathXmlApplicationContext, XmlBeanFactory等;
  3. FactoryBean为IOC容器Bean提供更灵活的实现方式(使用了简单工厂模式和装饰模式);如果IOC容器中的Bean配置或实现FactoryBean, 可通过getBean(BeanName)获取一个如Student bean对象,但getBean(&BeanName)可得到生成该Student的Factory bean对象。子接口有SmartFactoryBean;实现类有 AbstractFactoryBean,JndiObjectFactoryBean等;

Spring Factory的更多相关文章

  1. [SpringBoot] 通过spring.factory文件来加载第三方的bean

        在springboot的开发过程中,我们经常需要加载一些bean,如果bean使我们自己写的类,那很好办,加个@Component注解就搞定了,然后过程启动会扫描启动类所在的包及其子包,如果我 ...

  2. Spring学习记录(九)---通过工厂方法配置bean

    1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. package com.guigu.spring.factory; public class C ...

  3. Spring系列之bean的使用

    一.Bean的定义 <bean id="userDao" class="com.dev.spring.simple.MemoryUserDao"/> ...

  4. Spring(4)

    Spring的Bean的配置形式 1.基于XML的形式(无需讲解) 2.基于注解的形式(需要引入AOP的jar包,此jar包实现了AOP的注解) 当在Spring配置文件中引入类扫描注解命名空间并且指 ...

  5. spring入门教程——笔记

    Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是s ...

  6. SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-002设置JPA的EntityManagerFactory(<persistence-unit>、<jee:jndi-lookup>)

    一.EntityManagerFactory的种类 1.The JPA specification defines two kinds of entity managers:  Applicatio ...

  7. Chapter 4: Spring and AOP:Spring's AOP Framework -- draft

    Spring's AOP Framework Let's begin by looking at Spring's own AOP framework - a proxy-based framewor ...

  8. spring容器IOC原理解析

    原理简单介绍: Spring容器的原理,其实就是通过解析xml文件,或取到用户配置的bean,然后通过反射将这些bean挨个放到集合中,然后对外提供一个getBean()方法,以便我们获得这些bean ...

  9. Flex整合Spring

    工程需要整合Spring和Flex,在网上众多方法中找到了下面这种,记录留存. 个人认为该方法更适合在已有Spring框架的工程中添加Flex时使用,对原工程内容(主要指配置文件)改动较小. 1.添加 ...

随机推荐

  1. Python简单实现决策树

    __author__ = '糖衣豆豆' #决策树 import pandas as pda fname="~/coding/python/data/lesson.csv" data ...

  2. 201806 数据处理 SQL、python、shell 哪家强...速度PK(上篇)

    最近在工作中,进行大量的数据处理,使用的是mysql5.7.22,发现当数据量级达到几十万之后,SQL执行速度明显变慢.尤其是当多个表join时,于是就尝试用python pandas进行数据处理,发 ...

  3. 关于li标签的value属性值的获取问题

    在前几天的开发过程中,遇到了这样一个问题. 在li标签中嵌入了一个value属性,如这样滴: <li id="ts1" value="0001">& ...

  4. flex:1详解(转)

    转载自:https://blog.csdn.net/fengyjch/article/details/79047908 flex 是 flex-grow.flex-shrink.flex-basis的 ...

  5. google搜索引擎爬虫爬网站原理

    google搜索引擎爬虫爬网站原理 一.总结 一句话总结:从几个大站开始,然后开始爬,根据页面中的link,不断爬 从几个大站开始,然后开始爬,根据页面中的link,不断加深爬 1.搜索引擎和数据库检 ...

  6. 《javascript经典入门》-day01

    <javascript经典入门>-day01 1.了解JavaScript 01.浏览器每次加载和显示页面时,都在内存里创建页面及其全部元素的一个内部表示体系,,也就是DOM.在DOM里, ...

  7. 在命令行启动vscode

    1.windows使用 code . 命令打开vscode 1.打开vscode安装位置,进入bin文件夹,复制路径 eg:E:\Microsoft VS Code\bin:2.回到桌面,右键我的电脑 ...

  8. Word中如何删除目录页的页码

    ---恢复内容开始--- word中插入目录之后想要为每页添加页码,如果我们直接添加页码的话会出现目录是第一页,正文部分的页码是从2开始而不是1,用下面的方法就可以解决 首先让文档中的所有符号可见 第 ...

  9. 5、继承(extends)

    继承主要目的是提高代码的复用性,但是只有在类与类之间有所属关系的时候才能继承,不能为了获取其他类的功能而继承,Java中只有单继承,不支持多继承,但可以多层继承 当父类中定义了相同的功能,内容不同时, ...

  10. eclipse常用工具

    Eclipse 保存文件时自动格式化代码 很多同学不知道Eclipse有个很有用的功能,就是自动格式源代码的功能,一般大家都是直接Ctrl+Shift+F手动格式化,多浪费时间. 其实Eclipse里 ...