首页 → 名言 → 美文
如何使用java反射實現動態代理 java反射機制及動態代理的原理
日期:2023-02-24 07:50:58    编辑:网络投稿    来源:互联网
java利用反射實現動態代理實現代碼  復制代碼 代碼如下:  package com.et59.cus.domain.dao.ex;  import java.lang.reflect.Field;  import java.lang.reflect.Met
为你推荐:
  • 一周工作報告總結(一
  • java利用反射實現動態代理實現代碼

      復制代碼 代碼如下:

      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;

      /**

      *

      *

      Title: ReflectUtil.java

      *

      Description: 反射

      *

      Company: 點滴工作室

      * @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利用反射實現動態代理實現代碼】相關文章:

    1.java使用動態代理來實現AOP

    2.Java 隊列實現原理及簡單實現代碼

    3.關于Java動態實現的方法

    4.java構造函數實現代碼示例

    5.java實現gif動畫效果代碼參考

    6.Java實現反射學習函數的應用

    7.冒泡排序的原理以及java代碼實現

    8.Java中如何實現顯示動態的時間

    这里有更多你想看的
  • 早安短句正能量一句
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部