<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    城市獵人

    在一網(wǎng)情深的日子里,誰(shuí)能說(shuō)得清是苦是甜,只知道確定了就義無(wú)反顧
    posts - 1, comments - 7, trackbacks - 0, articles - 89

    AOP之靜態(tài)代理和動(dòng)態(tài)代理

    Posted on 2009-08-02 11:31 sailor 閱讀(920) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): spring
    一、靜態(tài)代理:
        靜態(tài)代理要求代理對(duì)象和被代理對(duì)象實(shí)現(xiàn)同一個(gè)對(duì)象。

    IUserService:
    package com.swjs.aop.serivce;

    import java.util.List;

    /**
     * 
    @author jason
     *
     
    */

    public interface IUserService {
        List getUserList();
    }


    被代理類(lèi)UserService:
    package com.swjs.aop.serivce;

    import java.util.List;

    /**
     * 
    @author jason
     *
     
    */

    public class UserService implements IUserService {

        
    public List getUserList() {
            System.out.println(
    "get Userlist");
            
    return null;
        }


    }

    代理類(lèi):
    package com.swjs.aop.serivce;

    import java.util.List;

    /**
     * 
    @author jason
     *
     
    */

    public class SecureProxy implements IUserService{

        
    private IUserService userService;

        
    public SecureProxy(IUserService userService) {
            
    super();
            
    this.userService = userService;
        }

        
        
    public List getUserList()
        
    {
            System.out.println(
    "身份檢查");
            userService.getUserList();
            System.out.println(
    "事務(wù)提交");
            
    return null;
        }

    }

    測(cè)試類(lèi):
    package com.swjs.aop.serivce;

    /**
     * 
    @author jason
     *
     
    */

    public class StaticProxyTest {

        
    /**
         * 
    @param args
         
    */

        
    public static void main(String[] args) {
            IUserService userService 
    = new UserService();
            SecureProxy proxy 
    = new SecureProxy(userService);
            proxy.getUserList();
        }

    }


    顯示結(jié)果:
    身份檢查
    get Userlist
    事務(wù)提交

    二:動(dòng)態(tài)代理
    接口
    public interface IUserService {

        
    public void getUserList(int start, int limit);
    }


    業(yè)務(wù)方法:
    public class UserService implements IUserService {

        
    public void getUserList(int start, int limit) {
            System.out.println(
    "start: " + start + " limit: " + limit );
            System.out.println(
    "get user List");
        }

    }

    處理器:
    public class SecureHandler implements InvocationHandler {

        
    private IUserService service;
        
        
        
    public SecureHandler(IUserService service) {
            
    super();
            
    this.service = service;
        }



        
    public Object invoke(Object proxy, Method method, Object[] arg)
                
    throws Throwable {
            System.out.println(
    "trac begin");
            System.out.println(arg.length);
            
    for(int i = 0; i <  arg.length; i++)
            
    {
                System.out.println(arg[i]);
            }

            method.invoke(service, arg);
            System.out.println(
    "trac end");
            
    return null;
        }


    }


    測(cè)試類(lèi):
    public class DynamicProxyTest {

        
    public static void main(String[] args)
        
    {
            IUserService service 
    = new UserService();
            SecureHandler handler 
    = new SecureHandler(service);
            IUserService serv 
    = (IUserService)Proxy.newProxyInstance(service.getClass().getClassLoader(), 
                            service.getClass().getInterfaces(), handler);
            serv.getUserList(
    0,10);
        }

    }

    顯示結(jié)果:
    trac begin
    2
    0
    10
    start: 
    0 limit: 10
    get user List
    trac end

    Feedback

    # re: AOP之靜態(tài)代理和動(dòng)態(tài)代理  回復(fù)  更多評(píng)論   

    2014-12-05 17:03 by AloneAli
    實(shí)質(zhì)就是裝飾者模式?

    # re: AOP之靜態(tài)代理和動(dòng)態(tài)代理  回復(fù)  更多評(píng)論   

    2014-12-05 17:11 by AloneAli
    @AloneAli不好意思,弄錯(cuò)了。代理模式是種模式。。。不是裝飾者模式。
    主站蜘蛛池模板: 全免费a级毛片免费看| 国产免费AV片在线观看播放| 亚洲aⅴ无码专区在线观看春色| 久久久久久亚洲av无码蜜芽| 男女猛烈激情xx00免费视频| 巨胸喷奶水视频www免费视频| 久久精品成人免费网站| 台湾一级毛片永久免费| 国产嫩草影院精品免费网址| 久久亚洲AV无码西西人体| 久久久久久亚洲精品成人| 亚洲中文无码永久免| 一级做a爰片久久毛片免费看| 一级特黄aa毛片免费观看| 午夜视频免费观看| 亚洲乱色熟女一区二区三区丝袜| 亚洲视频在线观看地址| 亚洲AV无码一区二区一二区| 国产免费阿v精品视频网址| 国产一精品一AV一免费孕妇| 亚洲一区二区三区无码影院| 亚洲精品无码久久毛片波多野吉衣| 亚洲另类自拍丝袜第五页| 中文字幕一区二区免费| 成人无遮挡裸免费视频在线观看| 亚洲午夜精品第一区二区8050| 亚洲综合男人的天堂色婷婷| 一级做a爰片久久毛片免费陪 | 国产精品亚洲精品日韩电影| 中文字幕在线免费看线人| 最近2019中文字幕免费看最新 | 亚洲人成在线影院| MM1313亚洲精品无码久久| 玖玖在线免费视频| 国产伦一区二区三区免费| 亚洲视频一区调教| 欧洲乱码伦视频免费国产| 美女被cao免费看在线看网站| 亚洲精品视频免费观看| 亚洲一卡2卡4卡5卡6卡残暴在线| 中文字幕免费在线播放|