• spring的作用域


    spring的作用域

    一、概述

      spring有五种作用域分别书singleton、prototype、request、session、application

    二、详解

      singleton 就是单例类型。创建容器时自动创建一个bean的对象,不管是否使用,都存在了,每次获取到的对象都是同一个对象

      prototype就是一个bean定义对应多个对象实例。prototype是原型类型,在创建容器时并没有实例化,当获取bean的时候才回去创建对象。每次获取到的对象都不是同一个对象。有状态的bean使用prototype,无状态的使用singleton。有状态就是说这个bean实例是保存用户的信息的,一旦用户灭忙,bean生命周期也就结束。无状态是没有特定的用户。即使使用它的用户消亡,依然存在会话池中,依然可以被其他用户调用。

      request、session、application都是在web环境下使用的,我们一般搭配springMVC使用。因为springmvc的前端控制器包含了相关的状态。

      如果没有使用springmvc需要在xml文件里配置一下listener和filter

      request就是请求作用域:就是说每次用到这个bean来处理HTTP请求的时候会创建一个bean实例。请求完成后销毁这个bean

      session是会话作用域:session是服务器和浏览器的一次会话过程,是连续的不是一次请求。session结束后销毁,session中所有http请求共享同一个请求的bean实例

      application全局作用域:是说bean是ServletContext级别的就是说是整个web项目全局共享的。与单例有点像,但是单例是作用在applicationcontext也就是一个容器当中的,一个项目不仅仅只有一个applicationContext。

      Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。

      

      

      

  • 相关阅读:
    uni-app中的数值监控方式及函数的封装和引用方式
    uni-app引入阿里矢量图在移动端不显示的问题
    前端登录页点击获取验证码的实现
    app每次更新版本时调用js代码提示用户下载更新
    @Dependson注解与@ConditionalOnBean注解的区别
    navicat for mysql 12中文破解版(安装+破解)--亲测可用
    Kubernetes 常用命令
    MySQL MERGE存储引擎
    MySQL中MyISAM与InnoDB区别
    什么是事务?什么是事务日志以及用途?
  • 原文地址:https://www.cnblogs.com/gushiye/p/14034784.html
Copyright © 2020-2023  润新知