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

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)化排名
禹州市| 东丰县| 阿瓦提县| 贞丰县| 武邑县| 黄山市| 繁昌县| 黄山市| 广西| 德兴市| 寿阳县| 大足县| 六盘水市| 乳山市| 明溪县| 泾阳县| 缙云县| 盐亭县| 馆陶县| 天长市| 祁东县| 泸西县| 西乌珠穆沁旗| 天台县| 遂昌县| 灵璧县| 望奎县| 三明市| 扎兰屯市| 许昌市| 仙居县| 闵行区| 建湖县| 双辽市| 太保市| 龙里县| 莱芜市| 海淀区| 湄潭县| 鄢陵县| 探索|