Spring:判斷當(dāng)前應(yīng)用是否加載了某個類

public static void main(String[] args) {

? ? //判斷當(dāng)前應(yīng)用是否加載了某個類

? ? String str = "main.CollectionsUtilsTest";

? ? try {

? ? ? ? //方法一

? ? ? ? Class<?> forName = Class.forName(str);

? ? ? ? System.out.println(forName);

? ? ? ? //方法二

? ? ? ? Class<?> aClass = ClassUtilsTest.class.getClassLoader().loadClass(str);

? ? ? ? System.out.println(aClass);

? ? } catch (ClassNotFoundException e) {

? ? ? ? e.printStackTrace();

? ? }

? ? ? //方法三:Spring自帶工具ClassUtils

? ? boolean present = ClassUtils.isPresent(str, null);

? ? System.out.println(present);

}


主要說一下第三個方法

本質(zhì)上還是通過Class.forName();


public static boolean isPresent(String className,@Nullable ClassLoader classLoader) {

try {

forName(className, classLoader);

return true;

}

catch (Throwable ex) {

// Class or one of its dependencies is not present...

? ? ? return false;

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 單例模式 讓一個類在java內(nèi)存中只創(chuàng)建一個對象 //懶漢式 飽漢式 public class MyTool ...
    4d5b10d2437f閱讀 292評論 0 0
  • #### ClassLoader - 分類: 1.ApplicationClassLoader 系統(tǒng)加載器 2.E...
    ttyttytty閱讀 279評論 4 0
  • JVM學(xué)習(xí)筆記 一、類加載 在java代碼中,類型的加載、連接與初始化過程都是在程序運行期間完成的類型加載:查找并...
    小雞在路上閱讀 702評論 0 2
  • 一、重點知識 靜態(tài)方法區(qū)中的內(nèi)存空間小,只會隨著類的消失而消失,而類jvm結(jié)束他才消失 單例模式目的是避免靜態(tài)的缺...
    一花一世界yu閱讀 2,621評論 0 5
  • // com.adobe.flash.listen settings.gradle 定義項目包含那些模塊app.i...
    zeromemcpy閱讀 1,816評論 0 1

友情鏈接更多精彩內(nèi)容