反射獲取類及類中的方法和方法的註解
阿新 • • 發佈:2021-08-17
springboot專案在啟動時會載入類,這個時候我們自定義一個類,讓他去實現BeanPostProcessor,重寫postProcessBeforeInitialzation()方法,我們可以按照我們的需要獲取我們需要的類物件。具體如下:
- 獲取類物件,暫記為 cll.
通過物件.getClass()方法返回物件的類物件。
- 獲取物件上面的註解
註解類 = cll.getAnnotation(註解.class);
- 獲取物件的方法
-
獲取類中所有的方法
Method[] methods = cll.getDeclaredMethods();
-
- 獲取方法上面的註解
-
GetMapping getRequestMothed = (GetMapping) method.getAnnotation(GetMapping.class);
-
- 根據傳入的註解和屬性,獲取對應的屬性值
- 獲取方法上的所有註解
- nnotation[] annotations = method.getAnnotations();
- 通過anno.annotationType().toString()獲取註解的全類名
-
permissionValue = (String[]) anno.annotationType().getMethod(傳入註解的屬性).invoke(anno);
- 例子如下:
- 獲取方法上的所有註解