UserServiceWrapper是一个包装器,它包装了一个实际的UserService对象,并提供了额外的功能。具体实现如下:

public class UserServiceWrapper implements UserService {
    
    private UserService userService;
    
    public UserServiceWrapper(UserService userService) {
        this.userService = userService;
    }

    @Override
    public User getUserById(int id) {
        // 在查询用户之前,做一些额外的操作
        System.out.println("UserServiceWrapper: before getUserById()");
        
        // 调用实际的UserService对象的getUserById()方法
        User user = userService.getUserById(id);
        
        // 在查询用户之后,做一些额外的操作
        System.out.println("UserServiceWrapper: after getUserById()");
        
        return user;
    }

    @Override
    public void addUser(User user) {
        // 在添加用户之前,做一些额外的操作
        System.out.println("UserServiceWrapper: before addUser()");
        
        // 调用实际的UserService对象的addUser()方法
        userService.addUser(user);
        
        // 在添加用户之后,做一些额外的操作
        System.out.println("UserServiceWrapper: after addUser()");
    }
    
    // 其他方法的实现同上
}

在getUserById()和addUser()方法中,UserServiceWrapper先输出一条日志,然后调用实际的UserService对象的对应方法,最后再输出一条日志。这些额外的操作可以是任何你需要的操作,比如记录日志、计算执行时间等等。通过包装器模式,我们可以很方便地在不改变原有UserService对象的基础上,增加额外的功能。

UserServiceWrapper 具体实现

原文地址: http://www.cveoy.top/t/topic/bzrU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录