赞
踩
- package anotention;
-
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
-
- /**
- * 注解解析的工具类
- *
- * @author Administrator
- *
- */
- public class AnotentionParseUtils {
-
- /**
- * 獲取類,主要先獲取类名
- *
- * @param className
- * @return
- * @throws ClassNotFoundException
- */
- public static Class getClass(String className)
- throws ClassNotFoundException {
-
- if (className.equals(null) || className == null) {
-
- return null;
- }
- return Class.forName(className);
- }
-
- /**
- * 解析类注解
- *
- * @throws ClassNotFoundException
- */
- public static void parseClassAnotention(Class<?> cls)throws ClassNotFoundException {
- /**
- * 判断是否存在指定的注解类型--这里判断是否存在类注解
- */
- if (cls.isAnnotationPresent(Anotention.class)) {
-
- Anotention des = (Anotention) cls.getAnnotation(Anotention.class);
-
- System.out.println("解析注解类型值为:" + des.value());
-
- TestAnnotation test = new TestAnnotation();
- test.test();
-
- }
-
- }
-
- /**
- * 解析方法上的注解
- *
- * @throws ClassNotFoundException
- */
- public static void parseMethodAnotention(Class<?> cls) throws ClassNotFoundException {
-
-
- final Method[] method = cls.getMethods();
-
- for (Method ms : method) {
- if (ms.isAnnotationPresent(Anotention.class)) {
-
- Anotention methodDes = (Anotention) ms
- .getAnnotation(Anotention.class);
-
- System.out.println("解析方法上的注解:" + methodDes.value());
-
- System.out.println("解析方法上的注解:desc" + methodDes.desc());
- }
- }
- }
-
- /**
- * 解析属性注解
- *
- * @throws ClassNotFoundException
- */
- public static void parseAttributeAnotention(Class<?> cls)throws ClassNotFoundException {
-
- Field[] fileds = cls.getDeclaredFields();
-
- for (Field f : fileds) {
-
- if (f.isAnnotationPresent(Anotention.class)) {
-
- Anotention methodDes = (Anotention) f
- .getAnnotation(Anotention.class);
-
- System.out.println("解析属性上的注解:" + methodDes.value());
-
- System.out.println("解析属性上的注解:desc" + methodDes.desc());
- }
-
- }
-
- }
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。