Spring Bean的获取与实例化
ApplicationContext与BeanFactory关系
ApplicationContext它是扩展BeanFactory接口。
BeanFactory它采取延迟加载的方案,只有真正在getBean时才会实例化Bean
我们一般使用的是ApplicationContext,真正使用的是其实现类,
FileSystemXmlAppliCationContext 根据文件路径获取
ClassPathXmlApplicationContext 根据类路径获取
AppliCationContext它会在配置文件加载时,就会初始化Bean,并且ApplicationContext它提供不同的应用层的Context实现。例如在web开发中可以使用WebApplicationContext.
Bean的实例化方式
无参数构造
对于这种方式,注意Bean类中必须提供无参数构造。
<bean name="bean1" class="com.nwtxxb.bean.Bean1"></bean>
静态工厂方法 需要创建一个工厂类,在工厂类中提供一个static返回bean对象的方法就可以。
配置文件
<bean id="bean2" class="com.nwtxxb.bean.Bean2Factory" factory-method="createBean2"></bean>
实例工厂方法
需要创建一个工厂类,在工厂类中提供一个非static的创建bean对象的方法,在配置文件中需要将工厂配置,还需要配置bean
<!--配置实例工厂-->
<bean name="bean3Factory" class="com.niwotaxuexiba.bean.bean3Factory"></bean>
<bean name="bean3" factory-bean="bean3Factory" factory-method="createBean3"></bean>
Spring Bean的获取与实例化相关推荐
- 【死磕 Spring】—– IOC 之 Factory 实例化 bean
这篇我们关注创建 bean 过程中的第一个步骤:实例化 bean,对应的方法为: createBeanInstance(),如下: protected BeanWrapper createBeanIn ...
- 实例化Spring Bean:Bean实例化的姿势有多少种?
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 【死磕 Spring】----- IOC 之 Factory 实例化 bean
原文:https://www.cmsblogs.com/category/1391374860344758272 『chenssy』 这篇我们关注创建 bean 过程中的第一个步骤:实例化 bean, ...
- Spring Bean生命周期: Bean的实例化
[Spring Bean 生命周期系列]传送门 1.Spring Bean生命周期: Bean元信息的配置与解析阶段 2.Spring Bean生命周期: Bean的注册 3.Spring Bean生 ...
- spring bean的实例化
spring中bean的实例化主要有两种:factoryMethod(@Bean)和构造器的方式 第一种:factoryMethod: spring.xml <beans xmlns=" ...
- Spring Bean实例化过程,怎么解决循环依赖
1.Spring是什么? Spring有很庞大的家族,Spring一般指的其实就是SpringFramework! Ioc和aop 包含在SpringFramework中! SpringFramewo ...
- 面试官必问:说说 Spring Bean 的实例化过程?
不贴代码,Spring的Bean实例化过程应该是怎样的? 两个阶段 容器启动阶段 Bean实例化阶段 不贴代码,Spring的Bean实例化过程应该是怎样的? 对于写Java的程序员来说,Spring ...
- Spring Bean、XML方式Bean配置、Bean实例化配置、Bean注入
文章目录 Bean管理 一.SpringBoot Bean 初了解 1.1 了解 1.2 Bean的作用域 1.2.1 注意事项 1.3 第三方Bean 二. 基于XML方式Bean的配置 2.1 S ...
- spring 单例 获取多例的位_Spring系列第6篇:玩转bean scope,避免跳坑里!
公众号关注"程序员二哥", 设为'星标',带你学习更多的知识. 本文内容 详细介绍5中bean的sope及使用注意点 自定义作用域的实现 应用中,有时候我们需要一个对象在整个应用中 ...
最新文章
- crontab 最小间隔_今天我间隔了:如何找到不在数组中的最小数字
- Docker架构:安装与基本命令
- Windows下安装Memcached
- 2018总结及2019计划
- 浅读设计模式 - 1
- SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)
- MySQL针对Swap分区的运维注意点
- SAP UI5 的 TypeScript 实践
- 【jzoj】2018.2.1 NOIP普及组——D组模拟赛
- 线性表----循环链表和静态链表
- 研究称语言能力比数学能力更重
- C/C++获取本地IP(适用于多种操作系统)
- matlab之简单粒子群的函数寻优
- 转载防火墙和防毒墙的区别
- javasript |仿百度换肤效果
- linux清华源地址,pip清华镜像源使用方法总结
- 点击tab栏如何让tab置顶
- eventlog java_Android EventLog含义
- SQL:如何给sql查询结果加上序号
- [第3课] 象形统计图