import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.util.logging.Filter;
import java.util.logging.LogRecord;import org.apache.catalina.Context;
//扫描注解
public class Classpath {
public static void main(String[] args) {
Classpath cla=new Classpath();
String path=cla.getPath();
File file=new File(path);
if(file.exists()&&file.isDirectory()) {
File[] filelist = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.getName().contains("class")) {
return true;
}
return false;
}
});
for(int i=0;i<filelist.length;i++) {
int num=filelist[i].getName().indexOf(".");
String object=filelist[i].getName().substring(0,filelist[i].getName().lastIndexOf(".class"));
parseClass( object);
}
}
}
public String getPath() {String path=Thread.currentThread().getContextClassLoader().getResource("").getPath();//获取当前资源的虚拟路径
//System.out.println(path);
return path;}
public static String parseClass(String object) {
try {
System.out.println("进入parseClass");
Class clazz=Class.forName(object);
// 获取类注解
a3 myClassAnnotation = (a3) clazz.getAnnotation(a3.class);
if(myClassAnnotation!=null) {
System.out.println(myClassAnnotation.name() + "+" + myClassAnnotation.classpath());
}else {
System.out.println(object+"无注解");
}
}catch (Exception e) {
e.printStackTrace();
}
return null;
}}
注解开发
最新推荐文章于 2023-06-16 14:12:16 发布