请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
Spring 什么 区别 说明 一下 ApplicationContext BeanFactory
2023-09-14 09:01:57 时间
请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
BeanFactory:
是spring中比较原始,比较古老的Factory。因为比较古老,所以BeanFactory无法支持spring插件。例如:AOP、web应用等功能。
AppliactionContext:
是BeanFactory的子类,基本上代替了BeanFactory的工作。以一种更面向框架的工作方式以及对上下文进行分层和实现继承,并在这个基础上对功能进行扩展:
①MessageSource,提供国际化的消息访问。
②资源访问:URL和文件等。
③事件传递。
④Bean的自动装配。
⑤各种不同的应用层的Context实现。
区别:
①如果使用ApplicationContext,如果配置的Bean是Singleton单例,那么不管你有没有或想不想用它,它都会被实例化。好处是可以预先加载,坏处是浪费内存。
②BeanFactory,当使用BeanFactory实例化对象时,配置的Bean不会被马上实例化(懒加载),而是等到你使用bean的时候才会被实例化。好处是节约内存,坏处是速度比较慢。多用于移动设备的开发。
③没有特殊要求的情况下,应该使用ApplicationContext完成。因为BeanFactory能完成的事情,ApplicationContext都能完成,并且提供了更加丰富的功能
相关文章
- 面试突击77:Spring 依赖注入有几种?各有什么优缺点?
- Spring 全家桶之 Spring Web MVC(十)- Spring、Spring MVC 整合
- Spring batch教程 之 spring batch简介
- Spring Cloud Eureka详解
- Spring 项目启动测试的时候错误:Unable to acquire JDBC Connection
- cacheable更新_详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
- 理论:第二章:Spring的AOP和IOC是什么?使用场景有哪些?Spring事务与数据库事务,传播行为,数据库隔离级别
- Spring之常用注解 注解开发 依赖注入 配置类 整合Junit......(1)
- 基于 Spring Aop 环绕通知实现 Redis 缓存双删功能(示例代码)
- Spring MVC是什么
- Spring Aop实现机制分析原理详解编程语言
- spring mvc DispatcherServlet详解之二—request通过Controller获取ModelAndView过程编程语言
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理详解编程语言
- Spring Boot(十三):spring boot小技巧详解编程语言
- Java Spring框架是什么?它有哪些好处?
- Spring体系结构详解
- Spring MVC Formatter(数据格式化)详解
- spring使用Spring整合Redis和Jedis构建高性能应用(redisjedis与)
- Spring框架下整合Redis的实现(spring整合redis)
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase