Spring学习笔记4----静态代理模式理解AOP实现机制

加深理解AOP

代码实现

//抽象方法,增删改查
public interface UserService {
   
    public void add();
    public void delete();
    public void update();
    public void query();
}

//实现类
public class UserServiceImpl implements UserService {
   
    public void add() {
   
        System.out.println("增加了一个用户");
    }

    public void delete() {
   
        System.out.println("删除了一个用户");
    }

    public void update() {
   
        System.out.println("修改了一个用户");
    }

    public void query() {
   
        System.out.println("查询了一个用户");
    }
}


//代理类
package com.kuang.demo02;

public class UserServiceProxy implements UserService {
   
    private UserServiceImpl userService;//使用组合将实现类丢进代理类

    public void setUserService(UserServiceImpl userService) {
   
        this.userService = userService;
    }

    public void add() {
   
        log("add");
        userService.add();
    }

    public void query() {
   
        log("query");
        userService.query();//调用了UserServiceImpl中的query
    }

    public void update() {
   
        log("update");
        userService.update();
    }

    public void delete() {
   
        log("delete");
        userService.delete();
    }

    //打印日志方法
    public void log(String msg){
   
        System.out.println("使用了"+msg+"方法");
    }
}



//测试类

package com.kuang.demo02;

public class Client {
   
    public static void main(String[] args) {
   
        UserServiceImpl userService=new UserServiceImpl();//实现类
       // userService.add();
        UserServiceProxy proxy=new UserServiceProxy();
        proxy.setUserService(userService);
        proxy.delete();
        proxy.add();
        proxy.query();
        proxy.update();
    }
}

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务