• java架构师学习路线-Mybatis中单例模式的介绍


    图灵学院 java架构师学习路线:Mybatis中单例模式的介绍

    单例模式:单例模式可确保某个类只有一个实例,并且实例化自己并将该实例提供给整个系统。此类称为单例类,该类提供全局访问方法。

    java架构师学习路线

        单例模式的三个要点:一是一类只能有一个实例。另一个是它必须自己创建此实例;第三,它必须自己将此实例提供给整个系统。单例模式是对象创建模式。单例模式也是列表模式或单状态模式。

        Mybatis中有两个地方可以使用单例模式模式:ErrorContext和LogFactory,其中ErrorContext是每个线程中用来记录该线程的执行环境错误信息的单个实例,LogFactory提供给整个Mybatis。使用的日志工厂用于获取为项目配置的日志对象。设计模式的单例模式的实践,本文建议您阅读。

        ErrorContext的单例实现代码:

        publicclassErrorContext{

        privatestaticfinalThreadLocal

        privateErrorContext(){

        }

        publicstaticErrorContextinstance(){

        ErrorContextcontext=LOCAL.get();

        if(context==null){

        context=newErrorContext();

        LOCAL.set(context);

        }

        returncontext;

        }

        构造函数是private修饰,具有一个static的局部instance变量和一个获取instance变量的方法,在获取实例的方法中,先判断是否为空如果是的话就先创建,然后返回构造好的对象。

        只是这里有个有趣的地方是,LOCAL的静态实例变量使用了ThreadLocal修饰,也就是说它属于每个线程各自的数据,而在instance()方法中,先获取本线程的该实例,如果没有就创建该线程独有的ErrorContext。

  • 相关阅读:
    Office2010中功能强大的图片背景删除工具
    ArcGIS 缓冲区单位转换问题
    ArcGIS Server 优化
    SQLSERVER 三值逻辑
    SQLSERVER 重置自增列
    ArcGIS 基于AO 实现的经纬度定位
    AO连接ArcGIS server 超时问题
    MySQL 1064 错误
    Socket 请求http 汉字编码问题
    Navicat创建存储过程
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/14063750.html
Copyright © 2020-2023  润新知