• 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。

  • 相关阅读:
    js——获取指定日期的前7天连续日期
    一个div自动充满当前屏幕的解决方法
    Cookie和Session
    Web服务器和浏览器间的工作原理
    软件测试基础概念
    K短路的几种求法
    ID字体
    搭建GitLab的Hexo博客记录
    项目selfcmp开发学习
    牛顿迭代法学习笔记
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/14063750.html
Copyright © 2020-2023  润新知