`
whp0731
  • 浏览: 174813 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring学习笔记之三“scope” --bean范围

阅读更多


三、spring Bean的作用域:
 
scope可以取值: 
 * singleton:每次调用getBean的时候返回相同的实例
 * prototype:每次调用getBean的时候返回不同的实例

1、applicationContext-beans.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
 <!--
 <bean id="bean1" class="com.bjsxt.spring.Bean1" scope="prototype"/>
  设置成scope="prototype",下面测试代码输出bean11!=bean12,反之scope="singleton",永远只生成一个实例-->
 <bean id="bean1" class="com.bjsxt.spring.Bean1" scope="singleton"/>
</beans>

2、测试代码
package com.bjsxt.spring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import junit.framework.TestCase;

public class ScopeTest extends TestCase {
 
 private BeanFactory factory;
 
 @Override
 protected void setUp() throws Exception {
  factory = new ClassPathXmlApplicationContext("applicationContext-*.xml"); 
 }

 public void testScope1() {
  Bean1 bean11 = (Bean1)factory.getBean("bean1");
  Bean1 bean12 = (Bean1)factory.getBean("bean1");
  if (bean11 == bean12) {
   System.out.println("bean11==bean12");
  }else {
   System.out.println("bean11!=bean12");
  }
 }
}

分享到:
评论

相关推荐

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    除了基本的`@Component`家族,Spring还提供了一些高级注解,如`@Scope`用于定义Bean的作用域,`@Lazy`用于延迟初始化Bean,`@Qualifier`用于在多个相同类型的Bean中指定特定的一个。 ### **总结** Spring的自动...

    Spring学习笔记系列之三

    本篇我们将聚焦于"Spring学习笔记系列之三"中的关键知识点——SpringMVC的源码分析,特别是父子容器的启动原理。这个主题是理解Spring MVC工作流程、定制化配置以及优化应用程序性能的关键。 首先,我们要明白...

    SPRING学习笔记2

    Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...

    Spring的学习笔记

    以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...

    Java相关课程系列笔记之十五Spring学习笔记

    本文主要围绕Spring的学习笔记展开,包括Spring的基本概念、容器的应用以及IoC特性进行深入探讨。 ### 一、Spring概述 1. **Spring框架的作用**:Spring的主要作用是提供一个统一的编程模型,通过容器管理对象...

    springboot学习思维笔记.xmind

    springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans ...

    Spring学习笔记之bean的基础知识

    &lt;bean id="ServiceImpl" class="Cuiyw.Spring.Service.ServiceImpl" scope="singleton" name="myService,anotherService"/&gt; ``` 此时,我们可以使用`id`(ServiceImpl)、`name`(myService、anotherService)中的...

    学习spring时的笔记 二

    以上内容涵盖了Spring框架的基础配置、依赖管理和高级特性等方面的知识点,希望对你学习Spring有所帮助。通过深入理解这些概念和技术,可以更好地掌握Spring框架的核心能力,并能灵活应用于实际项目中。

    Spring学习笔记

    ### Spring学习笔记 #### 一、面向抽象编程 面向抽象编程是软件工程中的一种设计理念,其核心在于通过定义抽象层来解耦系统组件之间的依赖关系。这种编程方式有助于提高系统的可扩展性和可维护性。 **关键知识点...

    spring学习笔记(五)

    【标题】"spring学习笔记(五)"主要涵盖了Spring框架中关于Bean的作用域(Bean Scope)这一核心概念。在Spring框架中,Bean Scope是控制对象生命周期和单例或多例行为的关键。接下来,我们将深入探讨这个主题。 ...

    spring学习笔记.doc

    bean的实例化策略可以通过scope属性来设定,"singleton"表示单例,"prototype"表示每次请求都会创建新的实例。 初始化和销毁方法: 可以使用`init-method`和`destroyed-method`属性指定bean的初始化和销毁方法,...

    spring2.5 学习笔记

    ### Spring 2.5 学习笔记知识点梳理 #### 第一课:面向抽象编程 - **定义**:面向抽象编程是一种编程范式,强调通过抽象类或接口来设计程序结构,减少对具体实现的依赖。 - **优势**: - 提高了系统的可维护性与...

    Spring2.5学习笔记

    ### Spring2.5 学习笔记详解 #### 一、Spring 框架简介 Spring 是一个开源的轻量级 Java 开发框架,主要用于简化企业级应用的开发工作。Spring 提供了一系列强大的功能,比如控制反转 (Inversion of Control, IOC)...

    spring学习笔记

    【Spring 学习笔记】 Spring 是一个开源的 Java 应用框架,主要关注于应用程序的分层架构,提供控制反转(IOC)和面向切面编程(AOP)的支持。本笔记将详细介绍 Spring 的核心概念、配置和应用。 **面向接口(抽象...

    SSH笔记-bean的作用域

    当我们谈论"SSH笔记-bean的作用域"时,这里SSH指的是Spring、Struts和Hibernate这三大Java Web开发框架的缩写,但具体讨论的是Spring框架中的内容。 在Spring 4中,Bean的作用域有以下几种: 1. **单例(Singleton...

Global site tag (gtag.js) - Google Analytics