spring Bean配置文件如:<bean id="infoAction" class="com.InfoAction" scope="prototype">,这里的scope决定了对象的访问范围。spring和struts2结合使用时尤其要注意。spring提供了singleton、prototype、request、session这几种作用域。
1.singleton单例模式,spring为这个对象创建了单例,只要是通过spring获取的bean对象,都只有一个对象。
2.prototype是创建一个新的对象,相当于new这个操作。这也是在spring配置中要加上scope="prototype"。
3.request在每次http请求时创建,范围只在request,适合在监听器和过滤器这种方法体里配置。
4.session通过名称即可知道,作用范围在session中。
而spring的默认范围为singleton,也即在没有写scope作用范围时,就默认指单例,如果在配置当中尤其是在action中管理对象而默认为单例,那么其对象将是同一个对象,上次请求的值,下次在请求时,依然存在。
分享到:
相关推荐
Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean,Spring In Action-3.2@Scope单例、多例Bean
<action path="/myAction" type="com.example.MyAction" scope="request" spring.bean="myManagedBean"/> ``` 以上就是Spring、Struts和iBatis整合开发的基本步骤。这个过程确保了应用的各部分之间良好的解耦合,...
Spring Bean是被Spring容器管理的对象,它们可以通过XML配置文件或者基于注解的方式来定义。你将学习到如何定义Bean的属性、初始化方法、生命周期方法,以及如何通过scope属性控制Bean的实例化策略。 此外,本章还...
可以通过`@Scope`注解或在XML配置中指定`scope`属性来设置bean的作用域。 #### 六、外部文件注入 Spring支持从外部文件中读取配置信息,这些配置信息可以是属性文件、JSON文件或其他格式。常见的注入方式包括: 1...
在Spring框架中,Annotation配置是一种简洁且强大的方式来管理Bean的定义和依赖注入,它消除了传统的XML配置文件,使得代码更加简洁、易读。在Spring 3.0及以上版本中,Annotation配置得到了广泛的应用。 首先,...
这个属于与Spring整合的问题,Spring容器在初始化对象的时候会根据bean的scope配置来考虑是重新建立一个对象,还是继续使用原来的对象,拿struts2的action的bean来说,如果scope这个参数没有配置,默认就是单例,即...
2. **在Struts配置文件中引用Spring Bean**:接下来,在`struts-config.xml`文件中,可以通过Spring Bean的形式来引用这些Action类。 ```xml <!-- struts-config.xml --> <action path="/myAction" type=...
这个属于与Spring整合的问题,Spring容器在初始化对象的时候会根据bean的scope配置来考虑是重新建立一个对象,还是继续使用原来的对象,拿struts2的action的bean来说,如果scope这个参数没有配置,默认就是单例,即...
Spring的核心容器是整个框架的基础,它管理着应用对象的生命周期和配置。依赖注入是Spring的主要设计模式,通过这种方式,对象之间的依赖关系可以被解耦,提高代码的可测试性和可维护性。 第二章将详细讲解bean的...
另外,`@Component`、`@Service`、`@Repository`和`@Controller`等注解用于定义不同类型的bean,`@Scope`注解可以指定bean的作用范围。 6. **整合步骤**: - 配置Struts2,添加Struts2和Spring的整合插件。 - ...
<action attribute="loginForm" input="/login.jsp" name="loginForm" path="/login" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" /> ``` 这意味着当Struts接收到`/login`路径...
在 `struts.xml` 文件中,将 Action 类的配置改为引用 Spring 中的 Bean ID,如: ```xml <action name="login" class="loginAction"> ``` 这样,Struts2 就会通过 Spring 获取 Action 实例。 ### 2. Spring 与 ...
在 Spring 配置文件中,可以使用 `<bean>` 元素的 `scope` 属性将 Bean 的作用域定义成 singleton。 ```xml <bean id="person" class="com.mengma.scope.Person" scope="singleton"/> ``` 2. Prototype 作用域 ...
Praise for the Third Edition of Spring in Action Preface Acknowledgments About this Book 1. Core Spring Chapter 1. Springing into action 1.1. Simplifying Java development 1.1.1. Unleashing the power ...
- **IOC/DI**:控制反转(IOC)是指对象的创建和管理由Spring容器负责,依赖注入(DI)是实现IOC的一种方式,通过配置文件或注解将依赖关系注入到对象中。 - **setter注入和构造器注入**:两种常见的DI方式,setter...
Spring是一个容器框架,不同于Web框架如Struts(处理JSP、Action、ActionForm)或ORM框架Hibernate(处理持久层),它关注于管理和维护应用中的对象(Bean)及其相互关系。 在Spring中,Bean是Java中的任何对象,...
5. `@Scope`:定义Bean的作用范围,如单例(`singleton`)或多例(`prototype`)。 最后,BlazeDS 的注解配置主要体现在Spring的配置上,如: 1. `flex:message-broker`:定义BlazeDS的消息经纪人,配置AMF通道等...
当Struts接收到请求时,会查找与`path`属性匹配的Spring Bean,并使用Spring来实例化和管理Action对象。 **第二种整合方式:DelegatingRequestProcessor** 在第二种方式中,我们不再直接在`struts-config.xml`中...
- **`scope`属性**:用于指定Bean的生命周期范围,如`singleton`(单例模式)、`prototype`(原型模式)等。 - **`init-method`与`destroy-method`属性**:分别用于指定Bean的初始化方法和销毁方法。 #### 四、...
1. **配置错误**:检查Spring的配置文件(如`applicationContext.xml`),确保所有需要被注入的对象(如Service、DAO)都有对应的bean定义,并且正确设置了`scope`属性(通常为`prototype`或`singleton`)。...