Spring 反射工具類ReflectionUtils
上面的是Modifier裡面定義的靜態屬性public static final int PUBLIC = 0x00000001; public static final int PRIVATE = 0x00000002; public static final int PROTECTED = 0x00000004; public static final int STATIC = 0x00000008; public static final int FINAL = 0x00000010; public static final int SYNCHRONIZED = 0x00000020; public static final int VOLATILE = 0x00000040; public static final int TRANSIENT = 0x00000080; public static final int NATIVE = 0x00000100; public static final int INTERFACE = 0x00000200; public static final int ABSTRACT = 0x00000400; public static final int STRICT = 0x00000800;
並且每一個都定義了一個判讀方法如
public static boolean isPublic(int mod) {
return (mod & PUBLIC) != 0;
}
public static boolean isPrivate(int mod) {
return (mod & PRIVATE) != 0;
}
public static boolean isStatic(int mod) {
return (mod & STATIC) != 0;
}
ReflectionUtils這個反射工具類有幾個工具方法,首先介紹幾個控制訪問許可權的方法makeAccessible
它由3個過載,分別是對屬性,方法和構造
屬性
方法public static void makeAccessible(Field field) { if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) { field.setAccessible(true); } }
public static void makeAccessible(Method method) {
if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
&& !method.isAccessible()) {
method.setAccessible(true);
}
}
構造 public static void makeAccessible(Constructor<?> ctor) {
if ((!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers()))
&& !ctor.isAccessible()) {
ctor.setAccessible(true);
}
}
相關推薦
Spring 反射工具類ReflectionUtils
public static final int PUBLIC = 0x00000001; public static final int PRIVATE
Spring的反射工具類 ReflectionUtils
/* * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you ma
反射工具類【ReflectionUtils】
import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.refl
Spring boot 工具類靜態屬性註入及多環境配置
data 地址 val 文件 source 其他 username eat serve 由於需要訪問MongoDB,但是本地開發環境不能直接連接MongoDB,需要通過SecureCRT使用127.0.0.2本地IP代理。但是程序部署到線上生產環境後,是可以直接訪問Mong
redis整合spring(redisTemplate工具類) redis整合spring(redisTemplate工具類)
redis整合spring(redisTemplate工具類) 原文地址:http://blog.csdn.net/qq_34021712/article/details/75949706 ©王賽超 前言 關於哨兵模式的配置,我是參考網上
spring註解工具類AnnotatedElementUtils和AnnotationUtils
一、前言 spring為開發人員提供了兩個搜尋註解的工具類,分別是AnnotatedElementUtils和AnnotationUtils。在使用的時候,總是傻傻分不清,什麼情況下使用哪一個。於是我做了如下的整理和總結。 二、AnnotationUtils官方解釋 功能 用於處理註解,處
移植Xposed的反射工具類
序章 在開發Xposed模組時感覺XposedHelper這個反射工具類特別好用,但是好像只能在模組裡使用,於是就想把它移植出來! 使用方法 反射呼叫Toast彈窗提示 private stat
反射工具類原始碼
1 import java.lang.reflect.Field; 2 import java.lang.reflect.InvocationTargetException; 3 import java.lang.reflect.Method; 4 import java.lang.refle
java反射工具類--通過指定屬性名,獲取/設定物件屬性值
java物件通過點運算子操作物件屬性的方式沒法使用for,while等迴圈,此工具主要解決這一問題. 例如:有一物件包含屬性有一定規律 obj1: { name1: "張三", age1: 1, name2: "李四", age2: 2
spring mvc 工具類的靜態方法使用注入
類程式碼 @Component public class RegisterConfig { @Autowired private DepartMentService departMentService; public void
Spring在工具類中使用註解注入Bean
public class LogUtil { @Autowired private LogService logService; private static Lo
[Java工具類]spring常用工具類 2.特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
主動獲取spring容器工具類SpringContextUtil
/** * 獲取spring容器,以訪問容器中定義的其他bean */ @Component public class SpringContextUtil implements ApplicationContextAware { // Spring應用上下文
反射應用進階篇之自定義反射工具類在springmvc中的應用
本篇使用自定義工具類進行批量處理物件 ---將批量源物件的屬性值注入到實際需要的目標類物件(屬性名相同,型別不同)中 專案使用maven構建war工程: spring+spring MVC+Mybatis 回顧知識點: 事務:--->為什麼在使用AOP時需要使
java 反射工具類 ReflectHelper
package com.util; import java.lang.reflect.Field; /** * @author Administrator * 反射工具 */ public class ReflectHelper { /** *
【java reflection】反射工具類總結
這段時間公司搞封閉開發,做一個聯通總部的客服系統專案,是基於springboot的。在開發工程中遇到一個頁面datagrid資料排序的功能,因為有多個表的資料都要用到排序功能,於是我就寫了一個排序功能的公共實現類,方便大家使用。在寫實現類的過程中需要通過反射去呼
反射工具類訪問方法和屬性
package com.itany.util; import java.lang.reflect.*; /* * 反射工具類 */ publicclass ReflectUtil { /* * 通過反射,獲取定義Class的父類引數的泛型的真實型別
反射獲取注入到spring中的類物件的工具類
package com.gameqp.common.reflect; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDe
(轉)Spring 的優秀工具類盤點
空白 nts tee 環境 fin 編寫 and 程序調試 word 第 1 部分: 文件資源操作和 Web 相關工具類 http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/ 文件資源操作 文件資源的操作
高可用的Spring FTP上傳下載工具類(已解決上傳過程常見問題)
關於 package 輸入 .net rop inpu pasv for factory 前言 最近在項目中需要和ftp服務器進行交互,在網上找了一下關於ftp上傳下載的工具類,大致有兩種。 第一種是單例模式的類。 第二種是另外定義一個Service,直接通過