成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

springcglib與jdk動態(tài)代理-創(chuàng)新互聯(lián)

1. 概述

在峨邊彝族等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),峨邊彝族網(wǎng)站建設(shè)費用合理。

JDK動態(tài)代理是利用java反射機(jī)制 生成一個實現(xiàn)接口的匿名類, 在調(diào)用具體方法前調(diào)用InvocationHandler來處理

Cglib動態(tài)代理是 利用asm開源包 把被代理類的class文件加載進(jìn)來 通過修改其字節(jié)碼生成子類來處理  

如果目標(biāo)對象實現(xiàn)了接口 那么默認(rèn)使用jdk代理(可以強(qiáng)制使用cglib代理)

如果沒有實現(xiàn)接口 必須使用cglib代理

強(qiáng)制使用cglib代理需要

  *引入cglibjar包

  *配置spring <aop:aspectj-autoproxy proxy-target-class="true"/>    

cglib因為是動態(tài)生成被代理類的子類 并覆蓋被代理類的方法 來實現(xiàn)的 所以 被代理方法不要使用final修飾   

2. 代碼示例

2.1 cglib代理類

package com.rocky.spring;

import java.lang.reflect.Method;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

public class CglibProxy {

  public static void main(String[] args) {
    final UserService service = new UserService();
    Enhancer hancer = new Enhancer();
    hancer.setSuperclass(service.getClass());
    hancer.setCallback(new MethodInterceptor(){

      @Override
      public Object intercept(Object proxy, Method method, Object[] arg2,
          MethodProxy arg3) throws Throwable {
        System.out.println("增強(qiáng)前 ... Cglib");
        Object invoke = method.invoke(service, arg2);
        System.out.println("增強(qiáng)后 ... Cglib");
        return invoke;
      }});
    UserService userService = (UserService) hancer.create();
    userService.sayHello();

  }
}
//需要引入cglib-2.2.jar 和org.objectweb.asm-3.3.1.jar 
//輸出
//增強(qiáng)前 ... Cglib
//this userService works....
//增強(qiáng)后 ... Cglib

網(wǎng)站標(biāo)題:springcglib與jdk動態(tài)代理-創(chuàng)新互聯(lián)
路徑分享:http://jinyejixie.com/article28/dhoecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、軟件開發(fā)、定制網(wǎng)站、關(guān)鍵詞優(yōu)化、企業(yè)建站App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
六安市| 鞍山市| 七台河市| 舞阳县| 灵寿县| 曲阳县| 宜都市| 南召县| 清丰县| 项城市| 潮州市| 平顶山市| 玛曲县| 黄龙县| 汉寿县| 厦门市| 巴林左旗| 内丘县| 虞城县| 吉林市| 尖扎县| 铜陵市| 丁青县| 安达市| 佛冈县| 师宗县| 北辰区| 泰顺县| 江油市| 宽城| 确山县| 西安市| 青川县| 湄潭县| 旬阳县| 津南区| 焉耆| 津南区| 集贤县| 龙井市| 霍山县|