@Scope注解设置创建bean的方式和生命周期

1.1.1            Scope注解创建bean的方式和生命周期

作用

Scope设置对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式。

取值说明

有singleton、prototype、request,session和global session五种取值。 

(1)singleton (单一实例)

 此取值时表明容器中创建时只存在一个实例,所有引用此bean都是单一实例。singleton类型的bean定义从容器启动到第一次被请求而实例化开始,只要容器不销毁或退出,该类型的bean的单一实例就会一直存活。生命周期为IOC存在周期。

(2)prototype每次重新创建

spring容器在进行输出prototype的bean对象时,会每次都重新生成一个新的对象给请求方,生命周期为对象的使用周期。 

(3)request

web程序给每一个http request新建一个Bean实例,通常是和XmlWebApplicationContext共同使用。

<bean id ="requestPrecessor" class="...RequestPrecessor"   scope="request" />

Spring容器,即XmlWebApplicationContext 会为每个HTTP请求创建一个全新的RequestPrecessor对象,当请求结束后,该对象的生命周期即告结束,如同java webrequest的生命周期。简单来讲,request可以看做prototype的一种特例,除了场景更加具体之外,语意上差不多。

 4session

Web程序中用于保存用户的登录信息对象,对于这种放到session中的信息,我们可以使用如下形式的制定scope为session:

<bean id ="userPreferences" class="...UserPreferences"   scope="session" />

Spring容器会为每个独立的session创建属于自己的全新的UserPreferences实例,比request scope的bean会存活更长的时间,其他的方面没区别,java websession的生命周期

 (5)global session

<bean id ="userPreferences" class="...UserPreferences"   scope="globalsession" />

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

 scope配置方式

(1)    使用配置文件配置

<bean id ="userPreferences" class="...UserPreferences"   scope="session" />

(2)    使用注解配置

@Scope默认情况使用的是singleton,若是其他类型需要指定。

@Scope(”prototype”)

自己编了一个股票监控软件,有如下功能,有兴趣的朋友可以下载;

(1)   个股监测。监测个股实时变化,可以监测个股大单交易、急速拉升和下降、主力入场和出场、股票最高点和最低点提醒。检测到最高点、最低点、主力进场点、主力退场点、急速拉升点、急速下跌点,给出语音或者声音提醒,不用再时刻看着大盘了,给你更多自由的时间;

(2)   大盘监测。监测大盘的走势,采用上证、深证、创业三大指数的综合指数作为大盘走势。并实时监测大盘的最高点和最低点、中间的转折点。

(3)   股票推荐。还能根据历史数据长期或短期走势进行分析,对股市3千多个股票进行分析对比,选出涨势良好的股票,按照增长速度从大到小排序,推荐给你涨势良好的股票;

下载地址:

1.0.3版本(修复大盘指数崩溃缺陷)下载地址:

链接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取码:003h

更新链接:

https://www.cnblogs.com/bclshuai/p/10621613.html

原文地址:https://www.cnblogs.com/bclshuai/p/10299420.html