解耦,獲取jar包中的資料

2021-10-20 18:28:26 字數 1342 閱讀 7044

需求:獲取自定義jar包中某個方法的執行日誌資訊

需要打包的jar中:

定義介面,日誌記錄

/**

* @author

* @version 1.0

* @description 日誌記錄

* @date 2021/2/28 16:12

*/public inte***ce logrecord

外部要呼叫的方法

/**

* @author

* @version 1.0

* @description todo

* @date 2021/2/28 16:14

*/public class taskexec

t.sendinfolog("end t4");

}}

要引入這個jar的專案

實現這個介面,先給個預設實現,因為後期你可能不再需要這些日誌了

/**

* @author

* @version 1.0

* @description 預設實現

* @date 2021/3/1 21:12

*/public class defaultlogrecord implements logrecord

@override

public void senderrorlog(string s)

}

定義真正要操作的類,這裡只把日誌放在記憶體中

/**

* @author

* @version 1.0

* @description 預設實現

* @date 2021/3/1 21:12

*/public class mydefaultlogrecord extends defaultlogrecord

@override

public void senderrorlog(string s)

public listgetlogs()

}

呼叫引入jar的方法

/**

* @author

* @version 1.0

* @description todo

* @date 2021/2/28 16:44

*/@component

public class taskservice catch (interruptedexception e)

}});

}}

}

軟體開發中的解耦

專案進入關鍵期了,最近乙個禮拜不斷加班寫 回顧一年以來經歷過的專案,突然發現其實我們一直在追求的就是解耦,目的就是使自己的軟體系統能夠以更低的代價接受變化,比如增加新業務時,希望不用修改 或者少修改。級別的解耦是最常見的,把ooa ood做的更好一些,每個類的職責明確,介面功能盡量細分,多使用經典的...

更新Jar包中的檔案

打包了個fat jar,後來程式作了小修改,如果重新打包乙個fat jar再上傳伺服器實在麻煩,而如果能只把更改的class檔案放到原來jar包替換相應檔案,則簡便很多。jar命令可以替換jar包對於檔案,但需要點小技巧。一般替換 增加 jar包根目錄下的檔案,用到的命令是 jar uvf myja...

使用反射獲取jar包中的類 方法以及引數

話不多說,直接是上 string path f git guli gmall gmall user src main resources 這是本地存放jar包的路徑。windows路徑下的 string filename commons io 2.6.jar 這是jar包名稱 try catch c...