Mybatis日志模块--适配器模式

Mybatis日志模块采用了适配器模式,在JAVA开发中,常用的日志框架有Log4j、Log4j2、java.util.logging、slf4j等,这些工具对外的接口不尽相同,为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层使用。

public interface Log{
      void debug(String s);
      ...
}

import org.apache.ibatis.logging.Log;
import org.slf4j.Logger;
class slf4jLoggerImpl implements Log{
     private final Log log;
     public slf4jLoggerImpl(Logger logger){
         this.log=logger;
     }
     @Override
     public void debug(String s){
          log.debug(s);
     }
} 

从上面的例子中,我们可以看到,无论我们想使用哪种日志模块,统一用
Log log.debug(s)
那我们在实例化Log的时候,到底Log log=new Log4jimpl();还是Log log=new slf4jimpl(); 完全可以交给工厂去完成。

你可能感兴趣的:(Mybatis学习,适配器模式,日志模块,Mybatis)