當前位置:才華齋>計算機>java語言>

java利用反射實現動態代理實現程式碼

java語言 閱讀(1.05W)

複製程式碼 程式碼如下:

java利用反射實現動態代理實現程式碼

package ;

import d;

import od;

import fier;

import er;

/**

*

*

Title:

*

Description: 反射

*

Company: 點滴工作室

* @version 2.0

*

*/

public class ReflectUtil {

private static final Logger log = ogger(s);

@SuppressWarnings({ "rawtypes", "unchecked" })

public static void setFieldValue(Object target, String fname, Class ftype,

Object fvalue) {

if (target == null

|| fname == null

|| ""ls(fname)

|| (fvalue != null && !signableFrom(lass()))) {

return;

}

Class clazz = lass();

try {

Method method = eclaredMethod("set"

+ perCase(At(0))

+ tring(1), ftype);

if (!blic(odifiers())) {

ccessible(true);

}

ke(target, fvalue);

} catch (Exception me) {

if (bugEnabled()) {

// g("me異常-------->:"+me);

}

try {

Field field = eclaredField(fname);

if (!blic(odifiers())) {

ccessible(true);

}

(target, fvalue);

} catch (Exception fe) {

if (bugEnabled()) {

g("fe----------->"+fe);

}

}

}

}

}