zoukankan      html  css  js  c++  java
  • JDK静态代理示例代码

    JDK静态代理示例代码

    1. 业务接口
    2. 接口的实现类
    3. 代理类,实现接口,并扩展实现类的功能

    1、业务接口

    /**
    * 业务接口
    * @author pc
    *
    */
    public interface UserService {
       // 增加一个用户
       public void addUser();
       // 编辑账户
       public void editUser();
    }
    

    2、业务实现类

     /**
     * 业务实现类
     * @author pc
     *
     */
    public class UserServiceImpl implements UserService {
    
        public void addUser() {
            System.out.println("增加一个用户。。。");
        }
    
        public void editUser() {
            System.out.println("编辑一个用户。。。");
        }
    
    }
    

    3、代理类(实现业务接口,并实例化业务实现类)

     /**
     * 代理类
     *
     * @author pc
     *
     */
    public class UserServiceProxy implements UserService {
    
        private UserServiceImpl userImpl;
    
        public UserServiceProxy(UserServiceImpl countImpl) {
            this.userImpl = countImpl;
        }
    
        public void addUser() {
            System.out.println("代理类方法,进行了增强。。。");
            System.out.println("事务开始。。。");
            // 调用委托类的方法;
            userImpl.addUser();
            System.out.println("处理结束。。。");
        }
    
        public void editUser() {
            System.out.println("代理类方法,进行了增强。。。");
            System.out.println("事务开始。。。");
            // 调用委托类的方法;
            userImpl.editUser();
            System.out.println("事务结束。。。");
        }
    
    }
    

    4、测试类

     public static void main(String[] args) {
        UserServiceImpl userImpl = new UserServiceImpl();
        UserServiceProxy proxy = new UserServiceProxy(userImpl);
        proxy.addUser();
        System.out.println("----------分割线----------");
        proxy.editUser();
    }
    

    5、结果

     代理类方法,进行了增强。。。
    事务开始。。。
    增加一个用户。。。
    处理结束。。。
    ----------分割线----------
    代理类方法,进行了增强。。。
    事务开始。。。
    编辑一个用户。。。
    事务结束。。。
    
  • 相关阅读:
    C++ 虚函数表解析
    C#编写简单的聊天程序
    c#事件与委托
    c#文本控件实现换行
    docker 详细安装及问题排查
    hadoop命令行
    Spark中的多线程并发处理
    CDH6.1.0离线安装——笔记
    linux 常用命令
    Rsync 恢复 libselinux.SO.1
  • 原文地址:https://www.cnblogs.com/muscleape/p/9018299.html
Copyright © 2011-2022 走看看