java利用反射實(shí)現(xiàn)動(dòng)態(tài)代理示例
package com.et59.cus.domain.dao.ex;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import org.apache.log4j.Logger;
/**
*
* <p>Title: ReflectUtil.java</p>
* <p>Description: 反射</p>
* <p>Company: 點(diǎn)滴工作室</p>
* @version 2.0
*
*/
public class ReflectUtil {
private static final Logger log = Logger.getLogger(ReflectUtil.class);
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void setFieldValue(Object target, String fname, Class ftype,
Object fvalue) {
if (target == null
|| fname == null
|| "".equals(fname)
|| (fvalue != null && !ftype.isAssignableFrom(fvalue.getClass()))) {
return;
}
Class clazz = target.getClass();
try {
Method method = clazz.getDeclaredMethod("set"
+ Character.toUpperCase(fname.charAt(0))
+ fname.substring(1), ftype);
if (!Modifier.isPublic(method.getModifiers())) {
method.setAccessible(true);
}
method.invoke(target, fvalue);
} catch (Exception me) {
if (log.isDebugEnabled()) {
// log.debug("me異常-------->:"+me);
}
try {
Field field = clazz.getDeclaredField(fname);
if (!Modifier.isPublic(field.getModifiers())) {
field.setAccessible(true);
}
field.set(target, fvalue);
} catch (Exception fe) {
if (log.isDebugEnabled()) {
log.debug("fe----------->"+fe);
}
}
}
}
}
- Java中反射動(dòng)態(tài)代理接口的詳解及實(shí)例
- 淺談Java反射與代理
- java 反射和動(dòng)態(tài)代理詳解及實(shí)例代碼
- 詳解Java反射實(shí)現(xiàn)Aop代理
- Java動(dòng)態(tài)代理和反射機(jī)制詳解
- 實(shí)例講解Java中動(dòng)態(tài)代理和反射機(jī)制
- Java使用反射來(lái)獲取泛型信息示例
- java使用反射訪問(wèn)成員變量的值示例
- Java反射機(jī)制及Method.invoke詳解
- java根據(jù)方法名稱(chēng)取得反射方法的參數(shù)類(lèi)型示例
- Java使用反射生成JDK代理示例
相關(guān)文章
線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例
今天小編就為大家分享一篇關(guān)于線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
spring解決循環(huán)依賴(lài)的簡(jiǎn)單方法
這篇文章主要給大家介紹了關(guān)于spring解決循環(huán)依賴(lài)的簡(jiǎn)單方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
使用迭代器Iterator遍歷Collection問(wèn)題
這篇文章主要介紹了使用迭代器Iterator遍歷Collection問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
datax-web在windows環(huán)境idea中模塊化打包部署操作步驟
這篇文章主要介紹了datax-web在windows環(huán)境idea中模塊化打包部署操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
Java實(shí)現(xiàn)畫(huà)圖的詳細(xì)步驟(完整代碼)
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java實(shí)現(xiàn)畫(huà)圖的詳細(xì)步驟展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java使用DateTimeFormatter格式化輸入的日期時(shí)間
這篇文章主要介紹了Java使用DateTimeFormatter格式化輸入的日期時(shí)間,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
java 中接口和抽象類(lèi)的區(qū)別與對(duì)比
這篇文章主要介紹了java 中接口和抽象類(lèi)的區(qū)別與對(duì)比的相關(guān)資料,這里詳細(xì)說(shuō)明他們之家的區(qū)別,需要的朋友可以參考下2017-08-08

