<bean id="meetAction" class="com.web.actions.MeetsAction"

scope="prototype">
  <property name="meetsService" ref="meetsService" />
 </bean>

<!--
 scope="prototype"没写的问题,项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,
 添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因为在配置spring的bean是忘了写scope="prototype"
 所以每次添加时都显示最后一次访问过的记录,scope="prototype" 会在该类型的对象被请求
 时创建一个新的action对象。如果没有配置scope=prototype则添加的时候不会新建一个action,他任然会保留上次访问的过记录的信息
webwork的Action不是线程安全的,要求在多线程环境下必须是一个线程对应一个独立的实例,不能使用singleton。所以,我们在Spring配置Webwork Action Bean时,需要加上属性scope=”prototype”或singleton=”false”。
singleton模式指的是对某个对象的完全共享,包括代码空间和数据空间,说白了,如果一个类是singleton的,假如这个类有成员变量,那么这 个成员变量的值是各个线程共享的(有点类似于static的样子了),当线程A往给变量赋了一个值以后,线程B就能读出这个值。因此,对于前台 Action,肯定不能使用singleton的模式,必须是一个线程请求对应一个独立的实例。推而广之,只要是带数据成员变量的类,为了防止多个线程混 用数据,就不能使用singleton。对于我们用到的Service、Dao,之所以用了singleton,就是因为他们没有用到数据成员变量,如果 谁的Service需要数据成员变量,请设置singleton=false。

spring scope=prototype 学习笔记相关推荐

  1. 页面每次添加都显示最后一次访问记录spring scope=prototype 学习笔记

    <bean id="meetAction" class="com.web.actions.MeetsAction"  scope="protot ...

  2. Spring Boot 2 学习笔记(2 / 2)

    Spring Boot 2 学习笔记(1 / 2) - - - 45.web实验-抽取公共页面 46.web实验-遍历数据与页面bug修改 47.视图解析-[源码分析]-视图解析器与视图 48.拦截器 ...

  3. Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )

    Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...

  4. Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )

    Spring Boot 框架学习笔记(二) 六.appliaction.properties配置与数据注入 6.1 `@Value`注解 测试注入数据 读取输入流 6.2 读取配置文件数据注入 单文件 ...

  5. Spring源码学习笔记:经典设计模式之代理模式

    1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 0.代理模式(Proxy Pattern) 指为其他对象提供一种代理,以控制对这个对象的访问.代理对象在客户端 ...

  6. 尚硅谷Spring注解开发学习笔记

    文章目录 前言 1.课程安排 1.1.容器 1.2.扩展原理 1.3.Web 2.配置文件开发 2.1.导入Spring-context依赖包 2.2.编写Spring配置文件 2.3.编写Perso ...

  7. Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL

    1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 1.GOF 23总设计模式归纳 分类 设计模式 创建型 工厂方法模式(Factory Method).抽象工厂 ...

  8. 【Spring MVC】学习笔记汇总

    Spring MVC 学习笔记汇总 Java 系列笔记:[Java系列笔记]语法基础 + Spring + Spring MVC + 数据结构 数据结构与算法笔记(这个牛逼!):<恋上数据结构& ...

  9. Spring源码学习笔记:起源发展和核心模块主要职能

    1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 1.Spring 的前世今生 早在 2007 年,一个基于 Java语言的开源框架正式发布,取了一个非常有活力 ...

最新文章

  1. C++中public protected private关键字
  2. Python内置模块bisect(二分查找实现和快速插入有序序列)
  3. k8s Service之NodePort
  4. python的re2和re区别_浅谈Python中re.match()和re.search()的使用及区别
  5. 软件容量测试和压力测试区别,性能测试、负载测试、压力测试、容量测试的区别...
  6. Console.WriteLine在以Windows Application方式下编译会产生性能问题
  7. equinox_轻松使用Linux Equinox桌面环境
  8. 自拍会不会被大数据_不会搭建大数据平台,我被老板优化了...
  9. @class与#import
  10. mysql的-x是什么命令_Mysql常用命令
  11. Pyqt+QRcode 生成 识别 二维码
  12. 有关vista系统的激活工具
  13. 小米机器如何无root激活XPOSED框架的流程
  14. @Value 注解用法
  15. 解决windows 10下文件名太长无法删除的问题
  16. 拍乐云携手UCloud,共建云的美好时代
  17. 解决小程序-wx.canvasGetImageData()-RGB取色盘苹果手机获取颜色慢问题
  18. 手机电路板文件_PCB工程师必看,从图纸到成品,电路板的制作只需这三大流程...
  19. 安卓局域网外实现木马监听
  20. Koch(科赫)雪花绘制

热门文章

  1. 《用户至上:用户研究方法与实践(原书第2版)》一 3.4 法律层面的考虑
  2. 迈出物联网的第一步,玩儿一下Arduino
  3. 东北黑木耳 微信公共帐号 销售 批发 分享 交流 东北鸿顺山特产品有限公司
  4. 概说《TCP/IP详解 卷2》缘起
  5. 第六章 MVC之 FileResult和JS请求二进制文件
  6. Android之利用JSBridge库实现Html,JavaScript与Android的所有交互
  7. Emoji表情符号录入MySQL数据库报错的解决方案
  8. Java三大主流开源工作流引擎技术分析
  9. 显示一些整数的最大公因子
  10. JavaScript 计算两个颜色叠加值