自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iBATIS的Log機(jī)制淺談

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

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

com.ibatis.common.logging.Log

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

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

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

思考明白以上原因后,再查看com.ibatis.common.logging.LogFactory的代碼,就不難理解了,但還是說(shuō)明幾個(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ī)制就向你介紹到這里,希望對(duì)于你理解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é)任編輯:仲衡 來(lái)源: 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

2019-08-15 10:17:16

Webpack運(yùn)行瀏覽器

2011-07-26 10:46:04

HTML 5

2011-03-10 15:22:08

訪問(wèn)控制機(jī)制Java

2023-12-11 07:21:12

SPI機(jī)制插件

2009-07-24 17:22:22

CLR 4.0安全模型

2017-05-15 13:40:20

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

2009-07-09 16:33:06

eclipse jvm

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ī)制

2010-04-16 11:17:33

hints調(diào)整

2019-05-10 14:00:21

小程序運(yùn)行機(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)部運(yùn)行機(jī)制數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

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