// 引入必要的包
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

// 自定义异常处理器
@Controller
public class CustomErrorController implements ErrorController {

    // 错误路径
    private static final String ERROR_PATH = "/error";

    // 处理错误请求
    @RequestMapping(value = ERROR_PATH)
    public String handleError() {
        // 处理错误逻辑
        return "error";
    }

    // 获取错误路径
    @Override
    public String getErrorPath() {
        return ERROR_PATH;
    }
}

SpringBoot中使用AOP实现日志记录

// 引入必要的包
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

// AOP切面类
@Aspect
@Component
public class LogAspect {

    // 前置通知
    @Before("execution(* com.example.controller.*.*(..))")
    public void logBefore(JoinPoint joinPoint) {
        // 获取方法名
        String methodName = joinPoint.getSignature().getName();
        // 记录日志
        System.out.println("开始调用方法:" + methodName);
    }

    // 后置通知
    @AfterReturning(value = "execution(* com.example.controller.*.*(..))", returning = "result")
    public void logAfterReturning(JoinPoint joinPoint, Object result) {
        // 获取方法名
        String methodName = joinPoint.getSignature().getName();
        // 记录日志
        System.out.println("方法:" + methodName + "调用成功,返回结果:" + result.toString());
    }
}

SpringBoot中使用Swagger2生成API文档

// 引入必要的包
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

// API文档示例Controller
@Api(tags = "用户管理接口")
@RestController
@RequestMapping("/users")
public class UserController {

    // 获取用户列表
    @ApiOperation("获取用户列表")
    @GetMapping("/")
    public List getUsers() {
        // 获取用户列表逻辑
        return userService.getUsers();
    }
    
    // 获取用户详情
    @ApiOperation("获取用户详情")
    @GetMapping("/{id}")
    public User getUser(@PathVariable("id") Long id) {
        // 获取用户详情逻辑
        return userService.getUserById(id);
    }
}
以上是关于SpringBoot相关的几个示例,分别介绍了自定义异常处理器、AOP实现日志记录和Swagger2生成API文档的用法。这些功能在SpringBoot开发中非常常见,希望对你有帮助。