Spring Score是什么?

对象在spring IOC容器的生命周期,对象在spring容器创建方式

作用

控制对象有效范围

分类

按配置分类:xml方式、注解方式
五种取值:
singleton
单例
比如标签对应的对象默认单例。
单例模式,无论获取多少次,都是一个对象。

prototype
多例,每次获取重新实例化

request
每次请求重新实例化

session
每个会话对象内,对象都是单例。
application
在application对象内是单例

global session
spring推出的对象,雷士session

global session只有应用在基于porlet的web应用程序中才有意义,它映射到porlet的global范围的session,如果普通的servlet的web 应用中使用了这个scope,容器会把它作为普通的session的scope对待。

新版spring官网

singleton/prototype/request/session/application/ebsocket

Spring Score以及ApplicationContext_spring

代码
xml方式

<bean id="peo" class="com.test.pojo.People" scope=" singleton"></bean>

注解的方式

Spring Score以及ApplicationContext_java_02

ApplicationContext

ApplicationContext是Spring中的核心接口和容器,允许容器通过应用程序上下文环境创建、获取、管理bean。在构建容器的时候,创建对象采用的策略是立即加载的方式,即只要一读取完配置文件就立即创建配置文件中配置的对象。BeanFactory采用的是延迟加载的方式,什么时候根据id获取对象了,什么时候才真正地创建对象。
该接口具有三个常用的实现类:
1、ClassPathXmlApplicationContext:可以加载类路径下的配置文件,要求配置文件必须在类路径之下。
2、FileSystemXmlApplicationContext:可以加载磁盘中任意路径下的配置文件,要求具有访问权限。
3、AnnotationConfigApplicationContext:用于读取注解创建容器。
4、ConfigurableApplicationContext:Spring当中还有一个ConfigurableApplicationContext类,扩展于ApplicationContext, 新增加两个主要方法。refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力。ApplicationContext在初始化上下文时就实例化所有的单例Bean.
5、WebApplicationContext:WebApplicationContext是专门为WEB应用而准备的,它允许从相对于WEB根目录的路径中完成初始化工作。

Spring 提供了两种类型的IOC容器实现:

BeanFactory:IOC容器的基本实现。

ApplicationContext:提供了更多的高级特性,是BeanFactory的子接口。

两种方式比较:

BeanFactory:BeanFactory是Spring框架的基础设施,面向Spring本身:

ApplicationContext : 面向使用Spring框架的开发者,几乎所有的应用场合都直接使用ApplicationContext而非底层的BeanFactory。无论使用何种方式,配置文件是相同的。

​BeanFactory和ApplicationContext区别及详解​