首页 > 其他分享 >Spring之基础知识

Spring之基础知识

时间:2022-12-11 09:44:05浏览次数:40  
标签:ApplicationContext Resource BeanFactory Spring Autowired 基础知识 注入

1、ApplicationContext VS BeanFactory

l 二者来自的 jar 包不同;BeanFactory 来自 spring.beans.jar;ApplicationnContext 来自 spring.context.jar 下。

l BeanFactory 和 ApplicationContext 都是属于 Spring下的顶级接口;ApplicationContext 属于 BeanFactory 的子类,BeanFactory 的所有功能 ApplicationContext 都是拥有的,除此之外,ApplicationContext 还有对国际化支持,支持资源的访问,支持事件的传播…

l 对于执行性能来说,ApplicationContext 是一次性加载并初始化所有的 bean 的,所以它的启动过程可能比较慢,但是后续的执行比较快;而 BeanFactory 是需要哪个类才去加载哪个类,因此 BeanFactory 占用的资源更少,启动更快,单后续的还行可能会慢一些。

2、@Autowired 和 @Resource 的区别

l @Autowired 来自 Spring 框架,而 @Resource 来自于JDK

l 作用范围不同,使用 @Autowired 可以进行属性注入,Setter 注入,构造器注入;而 @Resource 只能进行属性注入和Setter 注入

l 功能不同,@Resource 可以配合更多的属性进行使用,而 @Autowired 支持的属性较少,比如使用 @Resource 可以配合 name 属性进行使用,从而完成对象的别名注入。

标签:ApplicationContext,Resource,BeanFactory,Spring,Autowired,基础知识,注入
From: https://www.cnblogs.com/qiulong/p/16972848.html

相关文章