`

scope="prototype"的作用

    博客分类:
  • java
阅读更多

转自 http://zhou568xiao.iteye.com/blog/192208下面是struts2+hibernate+spring配置文件的一部分,以前都是仿造已经写好的bean的配置。有一次 scope="prototype"忘记写了结果出了问题
项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因为在配置spring的bean是忘了写scope="prototype"所以每次添加时都显示最后一次访问过的记录
找了很长时间,原来是spring bean出了问题。 scope="prototype" 会在该类型的对象被请求时创建一个新的action对象。如果没有配置scope=prototype则添加的时候不会新建一个action,他任然会保留上次访问的过记录的信息。
<bean id="assetAction" class="com.servicezone.itsd.asset.webapp.action.AssetAction" scope="prototype">
<property name="assetManager" ref="assetManager"/>
<property name="itProductManager" ref="itProductManager"/>
<property name="vendorManager" ref="vendorManager"/>
<property name="deptManager" ref="deptManager"/>
<property name="userManager" ref="userManager"/>
<property name="assetTypeManager" ref="assetTypeManager"/>
    </bean>

分享到:
评论

相关推荐

    Spring IOC Bean标签属性介绍(教学视频+源代码)

    1.6 当scope="prototype" 且 lazy-init="true" 时 1.7 小结 1.8 depends-on 1.8.0 实体类JavaBean 1.8.0.1 Student类 1.8.1 配置文件都不加lazy-init=true 1.8.2 被依赖者(Student)加了lazy-init="true" 1.8.3 依赖...

    singleton Bean 创建 prototype Bean

    在Spring框架中,Bean的两种主要作用域是Singleton和Prototype。Singleton Bean表示在整个Spring IoC容器中只有一个实例,而Prototype Bean则表示每次请求都会创建一个新的实例。这两种作用域的使用场景和实现方式都...

    Spring之scope讲解测试示例代码

    &lt;bean id="myBean" class="com.example.MyBean" scope="prototype"/&gt; ``` 3. **request(请求)**:在Web应用中,每个HTTP请求都会创建一个Bean。这个scope只在基于Web的ApplicationContext中可用。 ```xml ...

    Spring实战之Bean的作用域singleton和prototype用法分析

    在配置文件中,`p2`被定义为`prototype` Bean,通过`scope="prototype"`指定。在`BeanTest`中,我们请求`p2`两次并进行比较,结果发现两次得到的对象并不相同,这符合`prototype`作用域的行为。 在实际应用中,选择...

    详解Spring中bean的scope以后使用

    在Spring框架中,Bean的作用域(scope)是一项非常重要的特性,它决定了Bean实例的生命周期和管理方式。正确理解和运用Bean的作用域对于优化应用程序性能、简化开发流程具有重要意义。本文将详细介绍Spring中不同...

    spring的bean作用域

    - 配置Prototype Bean的例子是:`&lt;bean id="role" class="spring.chapter2.maryGame.Role" scope="prototype"/&gt;` 或 `&lt;bean id="role" class="spring.chapter2.maryGame.Role" singleton="false"/&gt;` 3. **Request...

    HelloSpring.zip

    我的博客中“maven环境搭建及Spring入门”的项目代码。...* 原型 scope=“prototype” 5。bean的生命周期: 默认情况下IOC容器创建的时候就会自动创建所有对象,只支持懒加载。default-lazy-init=true

    浅谈spring中scope作用域

    spring 中的 scope 作用域 spring 中的 scope 作用域是指在spring 框架中,bean 的实例化和生命周期的管理。Scope 作用域决定了 bean 的实例化方式、生命周期和作用域。 singleton 作用域 ----------------- 在 ...

    ssh 整合的实例-----员工表的增删查改

    &lt;bean name="/searchEmployee" scope="prototype" class="com.mysteelsoft.action.EmployeeAction"&gt; &lt;property name="employeeDao" ref="employeeDao"/&gt; &lt;/bean&gt; &lt;bean name="/addEmployee" scope=...

    springboot prototype设置多例不起作用的解决操作

    当我们使用`@Scope("prototype")`注解来声明一个Bean为原型作用域,期望在每次注入时都得到新的实例。但当我们在一个单例Bean中通过@Autowired来注入一个原型Bean时,Spring默认的行为是使用单例的静态代理,这会...

    基于java的企业级应用开发:Bean的作用域.ppt

    在【描述】中,提到了Bean的两种主要作用域:singleton和prototype,它们在不同的场景下有着重要的应用。 **Singleton作用域** Singleton是Spring容器的默认作用域,意味着无论何时,只要Spring容器需要该Bean,它...

    SSH笔记-bean的作用域

    2. **原型(Prototype)**:与单例相反,`scope="prototype"`表示每次请求都会创建一个新的Bean实例。这种方式适用于有状态的Bean,比如用户会话中的模型对象。 3. **请求(Request)**:在Web应用中,如果设置`...

    通俗易懂spring之singleton和prototype.docx

    本文主要聚焦于两种常用的作用域:singleton和prototype。 **Singleton(单例)** Singleton模式意味着每个Bean在Spring容器中只会存在一个实例。当你通过`ApplicationContext`获取一个配置为`scope="singleton"`...

    07-IoC配置-scope属性

    作用:定义bean的作用范围 格式: &lt;bean scope=“singleton"&gt; 取值: singleton:设定创建出的对象保存在spring容器中,是一个单例的对象(bean默认是单例) 单例的对象是在加载spring容器时就创建了,且此后你在同...

    详解Spring中bean的作用域

    对于 prototype 作用域的 bean,有一点非常重要,那就是 Spring 不能对一个 prototype bean 的整个生命周期负责,容器在初始化、配置、装饰或者是装配完一个 prototype 实例后,将它交给客户端,随后就对该 ...

    创建SpringBean配置工具类

    创建SpringBean配置工具类(安全)如: &lt;bean id=... scope="prototype"&gt;&lt;/bean&gt;

    maven3.0+struts+spring+hibernate

    不会新建action对象,每次调用的时候会使用原来的action,所以该类的所有字段会保留,这样异步访问的时候会出问题,所以需要将scope参数设置为prototype(多例),即在相应的action上添加属性:scope="prototype",...

    jdbc——内嵌事务

    &lt;bean id="departmentDao" class="my.aop.dao.DepartmentDaoJdbcImpl" scope="prototype"&gt; &lt;property name="dataSource" ref="dataSource"&gt; &lt;bean id="userDao" class="my.aop.dao.UserDaoJdbcImpl" scope=...

    maven3+struts2+spring+ibatis

    不会新建action对象,每次调用的时候会使用原来的action,所以该类的所有字段会保留,这样异步访问的时候会出问题,所以需要将scope参数设置为prototype(多例),即在相应的action上添加属性:scope="prototype",...

Global site tag (gtag.js) - Google Analytics