java.lang.reflect 和 maven org.reflections 有什么区别?

What is the difference between java.lang.reflect and the maven org.reflections?

我从 java 中的反思开始。查看外部项目,我看到开发人员在他的 pom.xml 中使用了依赖项 org-reflections 而不是已经包含的 java java.lang.reflect class。 此 Maven 依赖项是否提供更多方法?

java.lang.reflect :这是一个存在反射 API 类 的包。它可以帮助您在运行时检查或修改方法、类、接口的行为。

org-reflections 这是一个外部库,它使开发人员的生活更轻松,因为使用反射代码 API was/is 非常麻烦 activity (至少在引入 VarHandle and MethodHandle 之前)。我建议您在此处阅读自述文件: https://github.com/ronmamo/reflections 他们通过示例很好地解释了一些功能。

例如假设您想列出所有用 @RestController

注释的 类
Reflections reflections = new Reflections("com.demo");

Set<Class<?>> controllerCls = reflections.getTypesAnnotatedWith(RestController.class);

现在尝试在不使用 Reflections API

的情况下编写相同的代码