成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iBATIS的Log機(jī)制淺談

開發(fā) 后端
iBATIS的Log機(jī)制是什么?iBATIS的Log機(jī)制又有什么特點么?那么本文將會向你簡單介紹這些內(nèi)容。

iBATIS的Log機(jī)制的問題我們要首先從iBATIS的Log使用的兩個類開始,他們是:
 
com.ibatis.common.logging.LogFactory

com.ibatis.common.logging.Log

查看這兩個類的源代碼,可以發(fā)現(xiàn)它不過是對org.apache.commons.logging、org.apache.log4j、java.util.logging,三種目前可用的Log框架的同時封裝。

開始時很費解,不知iBATIS開發(fā)者為何要采用這種方式,直接使用某個確定的Log不就可以了嗎?思考后發(fā)現(xiàn)原因如下:

“iBATIS宣稱自己具有最少的第三方依賴性,其Log采用以上機(jī)制的原因也正在于此:如果iBATIS采用某個特定的Log框架,那么它就必須添加對該框架的依賴關(guān)系;而考慮到使用iBATIS的開發(fā)者肯定會使用以上三個Log框架中的某個,因此iBATIS決定與其使用者共用該框架;這樣iBATIS就可以避免不必要的第三方依賴;另外,如果開發(fā)者的確沒有使用某Log框架,查看iBATIS的Log代碼可以發(fā)現(xiàn)它對此也有相應(yīng)措施,即不log出任何東西。”

思考明白以上原因后,再查看com.ibatis.common.logging.LogFactory的代碼,就不難理解了,但還是說明幾個小點:

  1. private static void tryImplementation(String testClassName, String implClassName) ...{  
  2.  
  3.     if (logConstructor == null) ...{  
  4.  
  5.       try ...{  
  6.  
  7.         Resources.classForName(testClassName);  
  8.  
  9.         Class implClass = Resources.classForName(implClassName);  
  10.  
  11.         logConstructor = implClass.getConstructor(new Class[]...{Class.class});  
  12.  
  13.       } catch (Throwable t) ...{  
  14.  
  15.       }  
  16.  
  17.     }  
  18.  
  19.  } 

testClassName為某Log框架中的工廠類的類名,implClassName為該框架相應(yīng)Log接口實現(xiàn)類的類名(該類屬于iBATIS)。代碼先加載工廠類,然后加載實現(xiàn)類,得到其class,并由class得到constructor,供getLog方法調(diào)用時使用。

iBATIS的Log機(jī)制就向你介紹到這里,希望對于你理解iBATIS的Log機(jī)制有所幫助。

【編輯推薦】

  1. iBATIS事務(wù)處理淺析
  2. iBatis和Hibernate的較量淺析
  3. iBATIS動態(tài)映射淺析
  4. iBATIS DAO框架淺析
  5. iBATIS的自動代碼生成工具Abator在Eclipse的應(yīng)用
責(zé)任編輯:仲衡 來源: CSDN博客
相關(guān)推薦

2009-07-22 09:25:36

iBATIS映射文件

2009-07-15 16:14:36

iBATIS優(yōu)缺點

2020-09-30 06:47:22

Kotlin機(jī)制

2009-07-20 09:27:42

IBATIS.netDAO

2023-12-11 07:21:12

SPI機(jī)制插件

2019-08-15 10:17:16

Webpack運行瀏覽器

2011-07-26 10:46:04

HTML 5

2011-03-10 15:22:08

訪問控制機(jī)制Java

2009-07-09 16:33:06

eclipse jvm

2017-05-15 13:40:20

瀏覽器http緩存機(jī)制

2009-07-24 17:22:22

CLR 4.0安全模型

2013-09-29 15:11:46

Linux運維內(nèi)存管理

2017-04-26 14:15:35

瀏覽器緩存機(jī)制

2009-06-30 09:55:24

Spring運作機(jī)制

2010-04-16 11:17:33

hints調(diào)整

2019-05-10 14:00:21

小程序運行機(jī)制前端

2020-02-26 09:00:00

Chatbot架構(gòu)模型聊天機(jī)器人

2018-12-06 14:47:34

區(qū)塊鏈中介信任

2015-06-16 10:44:42

2018-12-26 16:30:09

SQL Server內(nèi)部運行機(jī)制數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久国内精品 | 亚洲高清一区二区三区 | 狠狠夜夜| 狠狠艹 | 国产精品久久久久久久久动漫 | 欧美性受xxx| 成人免费三级电影 | 国产精品无码专区在线观看 | 欧美 日韩 亚洲91麻豆精品 | 免费久久网站 | 欧美日韩精品在线一区 | 五月综合久久 | 亚洲日产精品 | 国产在线播 | 日韩一区二区福利视频 | 国产精品高潮呻吟久久 | 色狠狠一区 | 国产欧美日韩在线播放 | 2018天天干天天操 | 黑人巨大精品欧美一区二区免费 | 欧美日韩高清免费 | 综合视频在线 | 99亚洲精品 | 亚洲国产精品99久久久久久久久 | av资源在线看 | 91高清免费 | 伊人春色成人网 | 91国内精品久久 | 欧美一级艳情片免费观看 | 亚洲经典一区 | 久久精品一区二 | 欧美精品一区二区三区在线 | 99pao成人国产永久免费视频 | 国产成人免费视频网站视频社区 | 久久综合一区 | 国产精品18久久久久久白浆动漫 | 曰韩三级 | 国产精品一区二区在线播放 | 亚洲国产精品视频 | 亚洲国产成人精品女人久久久 | 久久国际精品 |