`

【转】spring bean配置说明

 
阅读更多
  • singleton---单例模式

单例模式,在spring 中其实是scope(作用范围)参数的缺省设定值
每个bean定义只生成一个对象实例,每次getBean请求获得的都是此实例

  • 单例模式分为饿汉模式和懒汉模式

 

饿汉模式 spring singleton的缺省是饿汉模式:启动容器时(即实例化容器时),为所有spring配置文件中定义的bean都生成一个实例
懒汉模式 在第一个请求时才生成一个实例,以后的请求都调用这个实例
spring singleton设置为懒汉模式:

<beans
default-lazy-init="true">


  • 另一种和singleton对应的scope值---prototype多实例模式

调用getBean时,就new一个新实例

  • singleton和prototype的比较

singleton

xml配置文件:
<bean id="dvdTypeDAO" class="com.machome.hibernate.impl.DvdTypeDAOImpl" />   
测试代码:
        ctx = new ClassPathXmlApplicationContext("spring-hibernate-mysql.xml");
        DvdTypeDAO tDao1 = (DvdTypeDAO)ctx.getBean("dvdTypeDAO");
        DvdTypeDAO tDao2 = (DvdTypeDAO)ctx.getBean("dvdTypeDAO");
运行:        
true
com.machome.hibernate.impl.DvdTypeDAOImpl@15b0333
com.machome.hibernate.impl.DvdTypeDAOImpl@15b0333

说明前后两次getBean()获得的是同一实例,说明spring缺省是单例


prototype

<bean id="dvdTypeDAO" class="com.machome.hibernate.impl.DvdTypeDAOImpl" scope="prototype" />
 
执行同样的测试代码
运行:
false
com.machome.hibernate.impl.DvdTypeDAOImpl@afae4a
com.machome.hibernate.impl.DvdTypeDAOImpl@1db9852
说明scope="prototype"后,每次getBean()的都是不同的新实例

 

 

转自 http://blog.sina.com.cn/s/blog_6151984a0100kfij.html

分享到:
评论

相关推荐

    Spring的Bean配置说明

    ### Spring的Bean配置详解 #### 一、Spring配置文件根元素`&lt;beans&gt;`解析 - **功能概述**:`&lt;beans&gt;`是Spring配置文件的根元素,用来包含一个或多个`&lt;bean&gt;`元素,用于定义Spring容器管理的各种Bean。 #### 二、`...

    spring的Bean配置说明

    以下是对Spring Bean配置的详细解释: 1. `&lt;beans&gt;` 根元素:这是Spring配置文件的起点,它包含了所有的Bean定义。Spring容器会解析这个文件并创建相应的Bean实例。 2. `&lt;bean&gt;` 元素:这是Spring配置中最常见的...

    普元eos-springbean开发

    - **SpringBean配置**:针对报销单维护的具体需求,配置相应的SpringBean,实现业务逻辑处理。 #### SpringBean配置详解 - **应用级配置**:主要涉及整个应用级别的配置信息,如数据源、事务管理等。 - **构件包...

    Spring XML配置的12个技巧

    以下是对Spring XML配置的12个技巧的详细说明: 1. 避免使用自动装配:Spring提供了自动装配功能,通过匹配bean属性或构造函数参数进行依赖注入。尽管能简化配置,但可能会牺牲可读性和可维护性,因此不推荐在大型...

    spring1.2的配置-jdbc

    ### Spring 1.2 的 JDBC 配置详解 在 Spring 框架 1.2 版本中,对 JDBC 的支持已经相当成熟,并且提供了非常便捷的方式来管理和配置数据库访问。下面将根据提供的 XML 配置文件来详细介绍 Spring 1.2 中如何配置 ...

    hibernate+spring配置详细解析

    ### Hibernate与Spring集成配置详解 #### 一、概述 在现代Java企业级应用开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,能够极大简化数据库操作;而Spring作为一个全面的企业级应用开发框架,提供了...

    spring定时器配置说明

    本说明文档将详细解析两种常见的触发器:SimpleTrigger和CronTrigger的配置与使用。 首先,SimpleTrigger适用于那些需要简单定时任务的场景。例如,如果你想让某个任务在特定时间启动,并按设定的间隔重复执行,...

    spring事务配置的五种方式

    接下来,我们将详细介绍五种具体的事务配置方式,并以第一种方式进行示例说明。 ##### 第一种方式:每个Bean都有一个代理 这种方式是最直接的事务配置方法之一。它为每个业务逻辑Bean创建一个代理对象,该代理对象...

    JavaSpring2:通过Setter注入配置Spring Bean

    本篇文章将详细讲解如何通过Setter注入来配置Spring Bean,同时也会简要介绍构造函数注入。 ### Setter注入 setter注入是Spring中最常用的依赖注入方式。在JavaSpring2中,我们可以创建一个类,比如`UserService`...

    spring配置文件说明.doc

    ### Spring配置文件详解 在Java开发领域中,Spring框架凭借其强大的功能与灵活性深受开发者喜爱。其中,`applicationContext.xml`作为Spring的核心配置文件之一,起着至关重要的作用。本文将详细解读`...

    spring 配置文件简单说明

    12. `parent`: 指定Bean继承自哪个父Bean配置,继承的Bean会继承父Bean的属性和配置。 这些属性和元素组合起来,使得Spring配置文件能够灵活地配置和管理应用程序的组件,实现IoC(控制反转)和DI(依赖注入),...

    struct和spring整合的配置

    以下是对"struct和spring整合的配置"的详细说明: 一、整合目的 整合Spring和Struts的主要目的是为了实现更好的业务逻辑管理、依赖注入以及提高代码的可测试性。通过Spring管理Struts中的Action类,可以避免在...

    Spring在MyEclipse中的配置

    `applicationContext.xml`是Spring框架的核心配置文件,它定义了应用程序中Bean之间的依赖关系。通过MyEclipse可以快速生成此文件并进行必要的配置: - 选择文件存放路径,默认为`WebRoot/WEB-INF`目录。 - 设置...

    spring配置文件说明[借鉴].pdf

    总结起来,Spring的`applicationContext.xml`配置文件通过定义bean及其相互依赖关系,实现了对整个应用的组件管理和控制流程的搭建。这种方式让开发者能够灵活地配置和管理应用的各个部分,同时降低了组件之间的耦合...

    详细说明spring事务配置的5种方式

    本文将详细介绍Spring事务配置的五种方式,帮助你深入理解如何在Spring应用中管理事务。 1. **基于XML的声明式事务管理** 第一种方式是在每个Bean上使用代理来实现事务管理。首先,配置`DataSource`,通常是`...

    Spring 实例化Bean的三种方式

    在Spring配置文件中,我们可以定义一个Bean作为实例工厂,然后指定该Bean的一个方法作为实例工厂方法。Spring将调用这个方法来创建实际需要的Bean实例。这种方式对于那些需要复杂逻辑来决定如何创建Bean的场景非常...

    spring ibatis 配置(包括事务管理)

    以下是关于"spring ibatis 配置(包括事务管理)"的详细说明: 1. **引入依赖**:首先,我们需要在项目中添加Spring和iBatis的相关依赖。通常,这会在Maven或Gradle的配置文件中完成,确保引入了正确的版本。 2. *...

    Spring事物配置的五种模式

    本文将详细介绍五种常见的Spring事务配置模式,并结合具体的配置示例进行说明。 #### 一、每个Bean都有一个代理 这种方式是最直接也是最简单的配置方法。它通过为每个需要事务支持的Bean创建一个代理来实现。这种...

    blazeds与java(spring)通信配置说明

    - **配置 Spring**:更新 Spring 配置文件,声明 Bean 并关联它们。可以创建一个 `SpringFactory` 类,用于初始化 Spring 上下文。 - **连接 RemoteObject**:在 Flex 代码中,可能需要更新 `RemoteObject` 的配置...

Global site tag (gtag.js) - Google Analytics