偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iBATIS的Log機(jī)制淺談

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

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

com.ibatis.common.logging.Log

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

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

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

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

  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接口實(shí)現(xiàn)類的類名(該類屬于iBATIS)。代碼先加載工廠類,然后加載實(shí)現(xiàn)類,得到其class,并由class得到constructor,供getLog方法調(diào)用時(shí)使用。

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

【編輯推薦】

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

2009-07-22 09:25:36

iBATIS映射文件

2009-07-15 16:14:36

iBATIS優(yōu)缺點(diǎn)

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運(yùn)行瀏覽器

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安全模型

2010-04-16 11:17:33

hints調(diào)整

2019-05-10 14:00:21

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

2009-06-30 09:55:24

Spring運(yùn)作機(jī)制

2013-09-29 15:11:46

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

2017-04-26 14:15:35

瀏覽器緩存機(jī)制

2018-12-06 14:47:34

區(qū)塊鏈中介信任

2015-06-16 10:44:42

2020-02-26 09:00:00

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

2018-12-26 16:30:09

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

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