Spring:判断当前应用是否加载了某个类

public static void main(String[] args) {

    //判断当前应用是否加载了某个类

    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);

}


主要说一下第三个方法

本质上还是通过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;

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 单例模式 让一个类在java内存中只创建一个对象 //懒汉式 饱汉式 public class MyTool ...
    4d5b10d2437f阅读 1,841评论 0 0
  • #### ClassLoader - 分类: 1.ApplicationClassLoader 系统加载器 2.E...
    ttyttytty阅读 1,720评论 4 0
  • JVM学习笔记 一、类加载 在java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的类型加载:查找并...
    小鸡在路上阅读 3,841评论 0 2
  • 一、重点知识 静态方法区中的内存空间小,只会随着类的消失而消失,而类jvm结束他才消失 单例模式目的是避免静态的缺...
    一花一世界yu阅读 7,336评论 0 5
  • // com.adobe.flash.listen settings.gradle 定义项目包含那些模块app.i...
    zeromemcpy阅读 5,656评论 0 1

友情链接更多精彩内容