当前位置:网站首页>ApplicationContext 与 BeanFactory 区别(MS)
ApplicationContext 与 BeanFactory 区别(MS)
2022-07-04 20:09:00 【Youcan.】
1. 从继承关系上来说,BeanFactory 是 的父类。BeanFactory 只是提供了基础操作Bean的方法,ApplicationContext除了拥有父类的基础操作之外,还提供了自己独有的功能。
2. 从性能方面上来说,ApplicationContext 是一次性加载并初始化所有的Bean对象,但是BeanFactory 是需要哪个Bean才去加载哪个Bean。
ApplicationContext 是在创建的时候就会将所有的bean初始化,第一次使用bean的时候快,启动比较慢,但是可能会造成资源浪费。BeanFactory不浪费任何资源,第一次加载bean比较慢。
import beans.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @program: first-spring
* @description: 通过ApplicationContext来获取对象
* @author: DRY
* @create: 2022-07-03 12:47
**/
public class App {
public static void main(String[] args) {
//1. 先得到上下文对象
ApplicationContext context =
new ClassPathXmlApplicationContext("spring-config.xml");
//2. 从spring上下文对象中获取bean
User user = (User)context.getBean("user");
//3. 使用对象(可以不使用)
user.sayHi("张丹");
}
}
import beans.User;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
/**
* @program: first-spring
* @description: 通过BeanFactory 来获取spring上下文对象
* @author: DRY
* @create: 2022-07-03 13:06
**/
public class App2 {
public static void main(String[] args) {
//1.先得到BeanFactory来获取对象
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
//2. 获取bean
User user = (User) beanFactory.getBean("user");
//3. 使用bean
user.sayHi("李四");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 表示将一个bean对象存储到spring中(可以有多个bean标签)-->
<bean id="user" class="beans.User"></bean>
</beans>

这两个user必须保持相同。
边栏推荐
- NetWare r7000 Merlin system virtual memory creation failed, prompting that the USB disk reading and writing speed does not meet the requirements. Solution, is it necessary to create virtual memory??
- RFID仓库管理系统解决方案有哪些功能模块
- Advantages of semantic tags and block level inline elements
- Qt五子棋人机对战画棋子之QPainter的使用误区总结
- Pytorch---使用Pytorch实现LinkNet进行语义分割
- Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
- MySQL --- 数据库查询 - 聚合函数的使用、聚合查询、分组查询
- Fleet tutorial 08 introduction to AppBar toolbar Basics (tutorial includes source code)
- word中插入圖片後,圖片上方有一空行,且删除後布局變亂
- 搭建一个仪式感点满的网站,并内网穿透发布到公网 1/2
猜你喜欢

From automation to digital twins, what can Tupo do?

Some suggestions for interface design

【optimtool.unconstrain】无约束优化工具箱

工厂从自动化到数字孪生,图扑能干什么?

How does wincc7.5 SP1 find variables and their positions through cross indexing?

NetWare r7000 Merlin system virtual memory creation failed, prompting that the USB disk reading and writing speed does not meet the requirements. Solution, is it necessary to create virtual memory??

Advantages of RFID warehouse management system solution

admas零件名重复

TweenMax表情按钮js特效

Pytorch---使用Pytorch实现LinkNet进行语义分割
随机推荐
What if win11u disk refuses access? An effective solution to win11u disk access denial
c语言函数形参自增自减情况分析
Automatic insertion of captions in word
Advantages of RFID warehouse management system solution
宝塔 7.9.2 宝塔控制面板绕过 手机绑定认证 绕过官方认证
admas零件名重复
网件r7000梅林系统5g不稳定 5g信号经常掉线解决方法
LeetCode 8. String conversion integer (ATOI)
[1200. Minimum absolute difference]
Go language notes (4) go common management commands
Nmap scan
Vue cleans up the keepalive cache scheme in a timely manner
Browser render page pass
Reinforcement learning - learning notes 2 | value learning
acwing 3302. Expression evaluation
What if the win11 shared file cannot be opened? The solution of win11 shared file cannot be opened
实操自动生成接口自动化测试用例
【解决方案】PaddlePaddle 2.x调用静态图模式
idea大小写快捷键
卷积神经网络在深度学习中新发展的5篇论文推荐