扫描指定包下的指定注解类

扫描指定包名下的被注解的类

一,定义注解

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface ActivitiCallbackAnnotation {

	String value() default "";

	String url() default "";

	String description() default "";

}

二,注解扫描



public class TestScanner {

	@Test
	public void test() {

		// 要扫描的包
		String packageName = "com.xxxxx";
		Reflections f = new Reflections(packageName);
		// 获取扫描到的标记注解的集合
		Set<Class<?>> set = f.getTypesAnnotatedWith(ActivitiCallbackAnnotation.class);
		for (Class<?> c : set) {
			// 循环获取标记的注解
			ActivitiCallbackAnnotation annotation = c.getAnnotation(ActivitiCallbackAnnotation.class);
			// 打印注解中的内容
			System.out.println(annotation.value());
		}

		
		System.out.println("--------over-------------");
	}

}

猜你喜欢

转载自blog.csdn.net/u011628753/article/details/121382799
今日推荐