当前位置: 首页 > news >正文

查询网站有没有备案做网站 视频

查询网站有没有备案,做网站 视频,最受欢迎国内设计网站,手机淘宝客网站怎么做的文章目录主要区别1. **作用域生命周期**2. **创建时机和频率**3. **使用环境限制**4. **代理模式 (proxyMode)**5. **内存管理**实际测试对比总结对比表使用场景项目代码https://gitee.com/he-weigang/spring-bean-field.git我来详细解释这两个Spring Bean作用域注解的区别&…

文章目录

    • 主要区别
      • 1. **作用域生命周期**
      • 2. **创建时机和频率**
      • 3. **使用环境限制**
      • 4. **代理模式 (proxyMode)**
      • 5. **内存管理**
    • 实际测试对比
    • 总结对比表
    • 使用场景

项目代码
https://gitee.com/he-weigang/spring-bean-field.git

我来详细解释这两个Spring Bean作用域注解的区别,并查看项目中的相关代码示例。
Read file: src/main/java/org/example/beans/RequestScopeBean.java
Read file: src/main/java/org/example/beans/PrototypeBean.java

Read file: src/main/java/org/example/service/ScopeTestService.java

根据你项目中的代码,我来详细解释这两种Spring Bean作用域注解的区别:

主要区别

1. 作用域生命周期

@Scope("prototype") (原型作用域):

@Component
@Scope("prototype")
public class PrototypeBean {// 每次从容器获取时都创建新实例
}

@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS) (请求作用域):

@Component
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class RequestScopeBean {// 每个HTTP请求创建一个实例,请求结束时销毁
}

2. 创建时机和频率

  • Prototype作用域:每次调用 applicationContext.getBean() 或注入时都创建新实例
  • Request作用域:每个HTTP请求只创建一次,在整个请求处理过程中复用同一个实例

3. 使用环境限制

  • Prototype作用域:任何Spring环境都可以使用(包括独立应用程序)
  • Request作用域:只能在Web环境中使用,需要HTTP请求上下文

4. 代理模式 (proxyMode)

Request作用域必须使用代理模式

proxyMode = ScopedProxyMode.TARGET_CLASS

这是因为:

  • Request作用域Bean的生命周期比注入它的Singleton Bean短
  • Spring创建一个代理对象,在运行时动态获取当前请求对应的Bean实例
  • Prototype作用域不需要代理,因为每次获取都是新实例

5. 内存管理

  • Prototype:Spring容器不负责销毁,需要手动管理
  • Request:请求结束时自动销毁,Spring容器负责生命周期管理

实际测试对比

让我创建一个对比测试来演示区别:

Ran tool

总结对比表

特性@Scope("prototype")@Scope(value = SCOPE_REQUEST, proxyMode = TARGET_CLASS)
创建频率每次获取Bean时创建新实例每个HTTP请求创建一个实例
使用环境任何Spring环境仅Web环境(需要HTTP请求上下文)
代理模式不需要代理必须使用代理模式
生命周期管理Spring不管理销毁请求结束时自动销毁
性能每次创建有开销请求期间复用,性能更好
线程安全每个实例独立,天然线程安全请求级别隔离,线程安全

使用场景

Prototype适用于

  • 需要每次都是全新状态的对象
  • 有状态的Bean,需要避免共享
  • 独立应用程序(非Web环境)

Request适用于

  • Web应用中需要在整个请求过程中保持状态
  • 请求级别的缓存或临时数据
  • 用户认证信息、请求参数等

项目中已经很好地演示了这两种作用域的使用方式,PrototypeBean用于演示每次获取都是新实例,而RequestScopeBean用于Web环境中的请求级别Bean管理。

http://www.dtcms.com/a/458722.html

相关文章:

  • js做网站统计如何维护网站的运营
  • 长沙做网站开发价格简述网站设计规划的步骤
  • 神级网页设计网站wordpress表结构怎么样
  • wordpress 图集哈尔滨网站建设优化公司
  • 密码入门笔记习题1:希尔密码求密钥
  • 做服装行业网站怎么每天更新内容重庆易企云网络科技有限公司
  • 设计感十足的网站沈阳中讯国际网站建设
  • QML学习笔记(二十五)QML的anchors(锚点)
  • 网站建设优化推广哈尔滨自己做的网站不显示图片
  • 水利建设工程网站wordpress my vistors
  • 网站建设 策划网络营销策划方案目的
  • 织梦网站自助申请友链代码全网推广网站
  • LockSupport.park 与 Object.wait 的方法的区别?
  • 广东建设信息公开网站中学网站管理系统下载
  • 用rem做移动网站开发微信小程序收费
  • ORB_SLAM2原理及代码解析:Tracking::NeedNewKeyFrame() Tracking::CreateNewKeyFrame()函数
  • 医院网站云服务器配置做网站前两个月应该干什么
  • php网站建设与管理网上商城系统平台官网
  • 江苏山海连云建设有限公司网站长沙seo霸屏
  • 进一步加大网站集约化建设力度微信小程序与wordpress
  • 建立网站 要怎么做wordpress恶意注册
  • 网站建设项目工作分解四川做网站的公司
  • 工信部网站备案号查询如何做deal网站推广
  • 网站改版降权上海公司网站建设
  • jdbc简单封装
  • 永宝网站建设招聘信息芜湖做网站的客户
  • BGP 状态机与报文类型详解
  • 桐庐县住房和城乡建设局网站没有网站可以icp备案
  • 免费推广网站排行榜ui视觉设计常用软件是什么
  • 便捷的大连网站建设专业网站建设官网