`

Holder模式

    博客分类:
  • java
阅读更多
程序经常需要用到配置文件,但我们又并不想关心何时读取配置文件,于是写了如下代码,备忘:
/**
 * 2007-4-28 下午03:24:37
 */
package kindsoft.auth.internal;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import kindsoft.auth.Configuration;

/**
 * the top ContextHolder
 * @author <a href="mailto:guileen@gmail.com">桂健雄</a>
 * @since 2007-4-28
 */
public class ContextHolder {
	private static final Configuration configuration;
	static{
		ApplicationContext context = new ClassPathXmlApplicationContext("security.xml");
		configuration = (Configuration) context.getBean("configuration");
	}
	/**
	 * get the configuration
	 * @return the configuration
	 */
	public static Configuration getConfiguration() {
		return configuration;
	}
}


有时我们希望针对每个线程设置一个参数,比如在web程序中,我们使用session来保存信息,但每次必须获得session对象,才可以进行操作,于是有了如下代码,备忘:
/**
 * 2007-4-28 下午05:20:05
 */
package kindsoft.auth.internal;

import java.util.HashMap;
import java.util.Map;

/**
 * @author <a href="mailto:guileen@gmail.com">桂健雄</a>
 * @since 2007-4-28
 */
public class ThreadHolder {
	private static ThreadLocal<Map> localMap=new ThreadLocal<Map>(){
		@Override
		protected Map initialValue() {
			return new HashMap();
		}
	};
	
	@SuppressWarnings("unchecked")
	public static void put(String key,Object value){
		localMap.get().put(key, value);
	}
	
	public static Object get(String key){
		return localMap.get().get(key);
	}
	
}
分享到:
评论

相关推荐

    jiangzhuqingfeng#BestNote#单例模式的四种实现方式1

    枚举模式public enum Singleton3 {Holder模式public class Singleton4 {* 类级内部类,也就是静态的成员内部类

    android群雄传

    4.1.1 使用View Holder模式提高效率 66 4.1.2 设置项目间分隔线 68 4.1.3 隐藏List View的滚动条 68 4.1.4 取消List View的Item点击效果 68 4.1.5 设置List View需要显示在第几项 69 4.1.6 动态修改List View ...

    ChineduTest:电子游戏列表Android应用程序

    列表视图中的View Holder模式的优点包括: 一种。 防止查找也会影响性能的视图元素(CPU上的昂贵操作); 视图持有者,保留对视图的引用以加快listview滚动体验。 b。 防止随后的View膨胀,从而影响滚动时listview的...

    QY-OpenSource:开源学院,帮助Android新手学习使用开源项目

    简化list adapter中的View Holder模式 2014-11-29更新: 添加CircleProgress 各种形式的圆形进度条,有圆圈+数字风格的,有类似水位上升的。 添加CircularProgressButton 显示进度的按钮,可用于数据的提交,系统...

    多线程(20)单例设计模式1

    1. 饿汉式 2. 懒汉式 3.Holder方式 4.枚举方式

    Subdue:Subdue图挖掘器发现输入图中的高度压缩模式

    作者:华盛顿州立大学电气工程与计算机科学学院Larry Holder博士,电子邮件: 。 支持:本材料基于美国国家科学基金会在资助号1646640下的支持。 运行制服 命令行界面 Subdue使用以下命令行格式运行(需要Python 3...

    design-patterns:普通英语和简单代码的Java设计模式

    Initialization on demand holder Strategy Observer Built-in Self made Decorator Description Singleton 确保类只有一个实例,并提供一个全局访问点。 Strategy 策略模式定义了可以相互替换的一组算法,让算法的...

    文本模式「Text Mode」-crx插件

    通过激活文本模式来整理网页。所有页面均以文本形式加载(没有图像,动画或视频),因此内容更易于扫描和阅读 ★仅查看文本页面★图像,视频,Flash永不加载★无色页面更易于观看★减少页面加载★一键式轻松访问★...

    addlicense:该程序通过递归扫描目录模式来确保源代码文件具有版权许可证标头

    附加许可该程序通过递归扫描目录模式来确保源代码文件具有版权许可证标头。 它会修改所有的源文件,并避免将许可证标头添加到任何已有的文件中。安装go get -u github.com/google/addlicense用法addlicense [flags] ...

    graph-stream-generator:图流生成器(GSG)根据可以在不同流之间划分的子图模式生成多个图顶点和边流

    图流生成器图流生成器(GSG)根据可以在不同流之间划分的子图模式生成多个图顶点和边流。 作者:华盛顿州立大学电气工程与计算机科学学院的Larry Holder博士,电子邮件: 。 太平洋西北国家实验室的Sumit Purohit,...

    micro-gen:这将按照乔恩·卡尔霍恩(Jon Calhoun)的模式生成Golang微服务

    目录概述这是一个非常简单的微服务生成器,它创建以下文件夹和文件结构: migrations-用于放置数据库迁移的占位符文件夹pkg-用于大多数实际逻辑的文件夹db(如果启用了db)-微服务的数据库层的holder文件夹帮助程序...

    ImageView异步加载图片ImageLoaderSample.zip

     ImageLoader.getInstances().displayImage(list.get(position), holder.image, new ImageLoader.OnImageLoaderListener() {  @Override  public void onProgressImageLoader(ImageView imageView, int ...

    智能社区检测:回顾-研究论文

    这基本上是一种数据挖掘的形式,它处理的是图形而不是普通数据(Cook&Holder,2006年),它旨在发现重复的子图和在输入图中出现的有趣模式。 这项研究的重点是使用图挖掘技术进行社区检测。 目的是通过比较评估...

    Text Mode-crx插件

    通过激活文本模式来整理网页。 所有页面均以文本形式加载(没有图像,动画或视频),因此内容更易于扫描和阅读。 ★仅查看文本页面★图像,视频,Flash永不加载★无色页面更易于观看★减少页面负载★一键式轻松访问...

    PHP中使用虚代理实现延迟加载技术

    话说这货是从 Martin 大神的《企业应用架构模式》中学到的,辅助 PHP 动态语言的特性,可以比 Java 轻松很多的实现延迟加载——通过一个虚代理占位符。唯一的缺陷,是只能代理对象,不能代理内置基本类型。 我试水的...

    Android 通过ViewHolder优化适配器的实现方法(必看)

    Adapter类的定义: Adapter对象是AdapterView和底层数据见的桥梁。Adapter用于访问数据项,并且负责为数据项生成视图 AdapterView是一个抽象类,用于那些需要通过Adapter填充自身的视图,其常见子类是ListView。...

    xmljava系统源码-SpringInAction4:《SpringInAction4th》学习笔记

    holder”创建单例模式的理解,参考 Spring中单例的概念限于Spring上下文中,遵守约定 内部bean适用于setter注入和构造器注入,内部bean不能被复用 SpEL表达式 3. 高级装配 4 种自动装配 byName, byType, contructor, ...

    Android SimpleAdapter适配器使用详解

    HolderAdapter背景 Android的AdapterView用的比较多,ListView,GridView,Spinner等,原生的BaseAdapter对ViewHolder没有支持,每次都要,定义内部类,inflater根布局,对item内部view设置clicklistener并转发到...

    Wio Node 5分钟开发出你自己的 IOT 应用-电路方案

    5Battery Holder一个 Jst2.0 连接器,连接一个 3.7V 锂电池 6Analog/I2C1/D1Grove 端口,可以连接 Digital/I2C/Analog 类型的 Grove 模块 7UART/I2C0/D0Grove 端口,可以连接一个 UART/I2C/Digital 类型的 Grove ...

Global site tag (gtag.js) - Google Analytics