import com.example.MyAnnotation; import org.scannit.filter.Filter; import java.lang.annotation.Annotation; public class MyAnnotationFilter implements Filter { public boolean matches(Class<?> clazz) { Annotation annotation = clazz.getAnnotation(MyAnnotation.class); return annotation != null; } } import org.scannit.ClassLoader; import org.scannit.exception.ClassLoadingException; public class MyClassloader implements ClassLoader { public Object loadClass(Class<?> clazz) throws ClassLoadingException { try { return clazz.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ClassLoadingException("Failed to instantiate class: " + clazz.getName(), e); } } } import org.scannit.Scanner; import org.scannit.exception.ScanningException; public class Application { public static void main(String[] args) { Scanner scanner = new Scanner("com.example"); scanner.setFilter(new MyAnnotationFilter()); scanner.setClassLoader(new MyClassloader()); try { scanner.scan(); } catch (ScanningException e) { e.printStackTrace(); } } }


上一篇:
下一篇:
切换中文