1. BeanFactory
BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底层和最基本的编程规范。在 Spring 代码中, BeanFactory 只是个接口,并不是 IOC 容器的具体实现,但是 Spring 容器给出了很多种实现,如 DefaultListableBeanFactory 、 XmlBeanFactory 、 ApplicationContext 等,都是附加了某种功能的实现。
2. FactoryBean
一般情况下,Spring 通过反射机制利用 <bean> 的 class 属性指定实现类实例化 Bean ,在某些情况下,实例化 Bean 过程比较复杂,如果按照传统的方式,则需要在 <bean> 中提供大量的配置信息。配置方式的灵活性是受限的,这时采用编码的方式可能会得到一个简单的方案。 Spring 为此提供了一个 org.springframework.bean.factory.FactoryBean 的工厂类接口,用户可以通过实现该接口定制实例化 Bean 的逻辑。
FactoryBean接口对于 Spring 框架来说占用重要的地位, Spring 自身就提供了 70 多个 FactoryBean 的实现。它们隐藏了实例化一些复杂 Bean 的细节,给上层应用带来了便利。从 Spring 3.0 开始, FactoryBean 开始支持泛型,即接口声明改为 FactoryBean<T> 的形式.
当调用getBean("car") 时,Spring 通过反射机制发现 CarFactoryBean 实现了 FactoryBean 的接口,这时 Spring 容器就调用接口方法 CarFactoryBean#getObject() 方法返回。如果希望获取 CarFactoryBean 的实例,则需要在使用 getBean(beanName) 方法时在 beanName 前显示的加上 "&" 前缀:如 getBean("&car");
public interface FactoryBean { Object getObject() throws Exception; Class getObjectType(); boolean isSingleton(); }
相关推荐
SPRING 笔记SPRING 笔记SPRING 笔记
Spring 笔记 Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流...
spring笔记spring基础笔记
spring 初学 笔记 入门提示
Spring笔记可能涵盖了以下内容: 1. **IoC(Inversion of Control)容器**:Spring的核心特性之一,通过反转控制权,让框架负责管理对象的生命周期和装配,开发者只需定义配置,无需手动创建对象。 2. **依赖注入...
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
spring入门笔记
尚硅谷Spring笔记
【Spring 概念与优势】 Spring 是一个开源的 Java 应用框架,主要设计目标是简化企业级应用的开发。它的核心特性是依赖注入(Dependency Injection,简称 DI)和面向切面编程(Aspect-Oriented Programming,简称 ...
除了以上核心内容,Spring笔记中还涵盖了Spring Boot、Spring Cloud等进阶话题,这些都是现代微服务架构中不可或缺的部分。Spring Boot简化了Spring应用的初始搭建和运行过程,而Spring Cloud则为构建分布式系统提供...
Spring框架是Java开发中的核心组件,它为应用程序提供...这些笔记将涵盖这些主题的基本概念、使用方法和示例,帮助初学者快速理解和掌握Spring生态系统。通过深入学习和实践,开发者能够构建出高效、可扩展的Java应用。
### Spring框架概述与核心特性 #### 一、Spring框架简介 Spring框架是一个开源的企业级Java应用框架,由Rod Johnson在2003年发起并创建。它为Java应用程序提供了全面的基础设施支持,使得开发者能够专注于业务逻辑...
spring笔记 狂神说
这个"spring笔记"涵盖了上述所有内容,并且非常完整,对于初学者和有经验的开发者都是极好的学习资源。通过深入学习和实践,你将能够充分利用Spring框架的强大功能,提升你的开发效率和应用质量。
本笔记将深入讲解Spring的核心概念和使用方法,帮助你快速掌握这一重要的技术。 1. **注解装配**:在Java世界中,注解(Annotation)是一种元数据,它可以提供额外的信息给编译器或运行时环境。在Spring中,注解被...
狂神的spring讲解资料,已汇总成PDF笔记,并加了章节标签方便阅读
《韩顺平Spring笔记及PPT资料》是一份详尽且深入的学习资源,由知名IT教育专家韩顺平老师精心编制。这份资料旨在帮助学习者掌握Spring框架的核心概念和技术,以便在实际开发中灵活运用。Spring是Java企业级应用开发...