spring对象scope属性

  

/**

* 1) 对象创建: 单例/多例

* scope="singleton", 默认值, 即 默认是单例  【service/dao/工具类】

*  scope="prototype", 多例;                 【Action对象】

*

* 2) 什么时候创建?

*   scope="prototype"  在用到对象的时候,才创建对象。

*    scope="singleton"  在启动(容器初始化之前), 就已经创建了bean,且整个应用只有一个。

* 3)是否延迟创建

*   lazy-init="false"  默认为false,  不延迟创建,即在启动时候就创建对象

*   lazy-init="true"   延迟初始化, 在用到对象的时候才创建对象

*    (只对单例有效)

* 4) 创建对象之后,初始化/销毁

*   init-method="init_user"       【对应对象的init_user方法,在对象创建爱之后执行 】

*    destroy-method="destroy_user"  【在调用容器对象的destriy方法时候执行,(容器用实现类)】

时间: 2024-11-03 03:36:19

spring对象scope属性的相关文章

spring scope 属性的取值

Spring 容器是通过单例模式创建 Bean 对象的,也就是说,默认情况下,通过调用 ac.getBean("mybean")方法获得的对象都是同一个 mybean 对象 使用单例模式有风险,风险在于多线程并发访问时会有一些状况.那么如何取消容器默认单例模式创建对象?14)  修改 applicationContext.xml设置创建 bean 的模式为原型模式(prototype)即可以代码片段<bean id="mybean"lazy-init=&quo

Spring的scope=&quot;prototype&quot;属性

Spring的scope="prototype"属性 可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理, 避免struts中Action的线程安全问题.这句话怎么理解呢如果用单例方式会有什么样的结果呢? spring 默认scope 是单例模式这样只会创建一个Action对象每次访问都是同一个Action对象,数据不安全struts2 是要求 每次次访问 都对应不同的Action scope="prototyp

Spring scope属性详解

scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在 对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象.打个比方吧!我们都是处在社会 (容器)中,如果把中学教师作为一个类定义,那么当容器初始化这些类之后,中学教师只能局限在中学这个场景中,中学,就可以看做中学教师的scope. Spring容器最初提供了两种bean的scope类型:singleton和 prototype,但发布2.0之后,

Java框架spring Boot学习笔记(九):注入对象类型属性

使用set方法注入对象属性 编写UserDao.java文件 1 package com.example.spring; 2 3 public class UserDao { 4 public void print(){ 5 System.out.println("Dao print."); 6 } 7 } 编写UserService.java文件 1 package com.example.spring; 2 3 public class UserService { 4 //1.定义

Spring根据XML配置文件注入对象类型属性

这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class DaoUser { public void fun() { System.out.println("I'm dao's fun()...................."); } } service文件代码:(提供setter方法,xml文件可通过这种方法配置) package com.sw

spring singleton scope与singleton pattern的区别

单态定义:     Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作. 还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且 能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到. 另外方面,Si

8、Spring+Struts2+MyBaits(Spring注解+jdbc属性文件+log4j属性文件)

一.注解理论 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>. 如:在base-package指明一个包 1 <context:component-scan base-package="cn.gacl.java"/> 表明cn.gacl.java包

spring 对象的单实例和多实例

(转载) 单例和多例的区别 : 单例多例需要搞明白这些问题:      1. 什么是单例多例:      2. 如何产生单例多例:      3. 为什么要用单例多例      4. 什么时候用单例,什么时候用多例:   1. 什么是单例.多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 单例模式和多例模式说明: 1. 单例模式和多例模式属于对象模式. 2. 单例模式的对象在整

Spring(二)scope、集合注入、自动装配、生命周期

原文链接:http://www.orlion.ga/189/ 一.scope bean的scope属性中常用的有两种:singleton(单例,默认)和prototype(原型,每次创建新对象) 例:beans.xml <bean id="userService" class="ml.orlion.service.UserService" scope="prototype">     <property name="u