`
beaver777
  • 浏览: 2840 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring配置bean的scope

阅读更多

Spring配置bean的时候,属性scope一般有5种值。singleton(默认)、prototype、request、session、global session。除此之外,scope也可以自己定义值。

1. singleton

首先这个是scope的默认值,在spring容器中只会有一个共享(数据、属性.....)的实例,会在spring容器启动时初始化,所有调用都使用同一个bean实例,这个实例在spring中是唯一的,且这个实例会存储到单例缓存中,一般无状态bean使用。

 

2.prototype

每次的bean请求都会创建一个新实例,即new一个实例,一般用于有状态bean。实例的生命周期由代码控制,脱离了spring容器的管理。且在调用时才会实例化对象,前台action请求一般数据、成员变量不可以共享,必须是一个线程请求对应一个实例。

 

3.request(仅在web的spring ApplicationContext中作用)

每个http请求会对应同一个bean实例,不同请求会返回各自的bean实例。

需要在web.xml中配置

<listener>

    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

</listener>

 

4.session(仅在web的spring ApplicationContext中作用)

每个http session会对应同一个bean实例,不同session会返回各自的bean实例。也需要在web.xml配置。

 

5.global session(仅在web的spring ApplicationContext中作用)

portlet web应用中才起作用。

 

分享到:
评论

相关推荐

    spring bean 的作用域(scope)

    spring bean 的作用域(scope), SPringle bean的作用域

    详解Spring中bean的scope以后使用

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

    详解Spring中Bean的生命周期和作用域及实现方式

    在配置Bean时,可以使用scope参数来指定Bean的作用域。 三、Bean的实现方式 Spring框架提供了多种方式来实现Bean,例如使用XML配置文件、使用Annotation配置等。 1. 使用XML配置文件:可以在XML配置文件中配置...

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    线程中获取spring 注解bean

    6. **RequestScope**:在Web应用中,如果bean需要在一次HTTP请求的生命周期内保持一致,可以使用`@Scope("request")`。这样,每次请求都会创建新的bean实例,而不会影响其他线程。 理解并熟练掌握这些方法,有助于...

    Spring项目bean基础配置代码

    在Spring框架中,Bean是核心概念,它是Java对象在Spring容器中的实例,通过XML或Java配置来定义。本文将深入探讨Spring项目中的Bean基础配置、别名配置以及作用范围配置。 首先,我们来理解Bean的基础配置。在...

    粗略实现spring创建bean

    "粗略实现spring创建bean"这个主题主要涉及到Spring如何初始化、配置以及管理Java对象,也就是我们所说的Bean。下面我们将深入探讨Spring Bean的生命周期、配置方式以及相关API。 1. Spring Bean 的生命周期 - ...

    创建SpringBean配置工具类

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

    spring的bean作用域

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

    spring bean life cycle

    `@Component`注解的类会自动被Spring扫描并注册为Bean,而`@Configuration`类则提供了更高级别的配置方式,可以替代XML配置文件。 此外,Spring提供了一种名为BeanPostProcessor的接口,它允许我们自定义Bean实例化...

    Spring装配Bean教程之XML安装配置bean详解

    此外,XML配置还支持许多其他特性,如`init-method`和`destroy-method`用于指定Bean的初始化和销毁方法,`scope`属性用于设置Bean的作用域(如单例、原型等),以及`&lt;import&gt;`元素用于导入其他配置文件。 虽然现代...

    Spring Bean 加载顺序 .

    Spring会首先读取这些配置源,将其转换为Bean定义。 2. **Bean定义注册**: 解析后的配置会被转化为BeanDefinition对象,包含Bean的类名、依赖、初始化方法等信息。这些BeanDefinition被注册到Spring的...

    尚学堂_Spring_0600_IOC_Bean_Scope

    可以创建一个简单的Spring项目,尝试配置不同Scope的Bean,观察并理解它们在运行时的行为差异。 通过以上讲解,我们已经涵盖了Spring框架中IOC的基本概念以及Bean Scope的相关知识。理解这些内容对于开发和维护基于...

    Spring之scope讲解测试示例代码

    在提供的示例代码中,你可能看到了如何在Spring配置文件中定义这些scope,以及如何在Java代码中注入和使用这些Bean。`main`函数可能用于非Web环境下的测试,而Web工程部分则展示了如何在Web应用中使用Bean。 在...

    详解Spring中bean的作用域

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

    day38 16-Spring的Bean的装配:注解的方式

    5. **配置Bean作用域**:使用`@Scope`注解来定义Bean的作用域。默认情况下,Spring Bean是单例的。 ```java @Scope("prototype") @Service public class PrototypeService { // ... } ``` 6. **生命周期方法**:...

    IOC之基于Java类的配置Bean

    除了@Bean,还有许多其他的注解可以进一步细化配置,如@Scope定义Bean的作用域(单例、原型等),@Qualifier用于在多个相同类型的Bean中指定依赖,@Conditional根据条件决定是否创建Bean,@Lazy表示延迟初始化等。...

    spring自动扫描和管理Bean的示例

    在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式地在配置文件中声明每个Bean,而是让Spring容器自动发现并管理应用中的组件。这一特性极大地简化了Spring应用的配置,提高了开发效率。...

    Spring中与Bean相关的接口

    它是Spring中最基本的Bean容器,负责创建、配置和管理Bean。`BeanFactory`提供了一个延迟初始化Bean的能力,这意味着Bean只在真正被请求时才会被实例化,这有助于提高应用的启动速度。例如,当使用`XmlBeanFactory`...

    浅谈Spring单例Bean与单例模式的区别

    下面是一个简单的Spring单例Bean的配置文件示例: ```xml &lt;bean id="yiifaa" class="com.stixu.anno.Person" scope="singleton"&gt; &lt;value&gt;yiifaa &lt;/bean&gt; ``` 三、Spring单例Bean与单例模式的区别 通过上面的...

Global site tag (gtag.js) - Google Analytics