Spring Boot 项目代码笔记

1. 项目入口类

  • 类名:EasyAApplication.java

  • 作用:Spring Boot 应用程序的入口点

  • 核心代码

    @SpringBootApplication
    public class EasyAApplication {
    public static void main(String[] args) {
    SpringApplication.run(EasyAApplication.class, args);
    }
    }

  • 说明:@SpringBootApplication 注解标识这是一个 Spring Boot 应用,main 方法通过 SpringApplication.run() 启动应用

2. 实体类

  • 类名:User.java
  • 作用:用户实体类,封装用户信息
  • 属性
    • id:Integer 类型
    • username:String 类型
    • password:String 类型
  • 特点:包含各属性的 getter 和 setter 方法,符合 JavaBean 规范

3. 配置类

  • 类名:EasyConfig.java
  • 作用 :Spring MVC 配置类,实现 WebMvcConfigurer 接口
  • 主要配置
    1. 拦截器配置:

      @Override
      public void addInterceptors(InterceptorRegistry registry) {
      registry.addInterceptor(new EasyInterceptor())
      .addPathPatterns("/testaa") // 拦截/testaa路径
      .excludePathPatterns("/easyaa"); // 排除/easyaa路径
      }

    2. 资源处理器配置:

      @Override
      public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry.addResourceHandler("/easyfile/**")
      .addResourceLocations("file:G:/uploadfile/"); // 映射本地文件路径
      }

4. 拦截器

  • 类名:EasyInterceptor.java
  • 作用:实现请求的预处理、后处理等拦截功能
  • 主要方法
    • preHandle():在 handler 执行之前处理,返回 true 表示放行,false 表示终止请求
    • postHandle():handler 执行完成之后处理
    • afterCompletion():SpringMVC 整个请求过程执行完毕后处理

5. 异常处理器

  • 类名:EasyExceptionHandler.java
  • 作用 :全局异常处理(注:当前 @ControllerAdvice 注解被注释)
  • 主要处理
    • RuntimeException:返回 "发生了一点小问题,请稍后"
    • NullPointerExceptionIndexOutOfBoundsException:返回 "里面有个小玩意没找到"
  • 说明:@ExceptionHandler 注解指定处理的异常类型,@ControllerAdvice 注解使其成为全局异常处理器

6. 文件上传控制器

  • 类名:FileuploadController.java

  • 作用:处理文件上传功能

  • 核心方法

    @RequestMapping("upload")
    public String upload(@RequestParam("file") MultipartFile file) throws IOException {
    // 获取原文件名并生成新文件名(UUID+后缀)
    // 保存文件到G:/uploadfile/目录
    // 返回访问路径/easyfile/新文件名
    }

7. 异常测试控制器

  • 类名:EasyBController.java
  • 作用:测试异常处理功能
  • 主要方法
    • testException():执行 12/0 会抛出 ArithmeticException
    • testb():简单的测试方法
  • 说明:演示了 @ExceptionHandler 注解的使用,注释中说明其作用范围

8. 主要控制器

  • 类名:EasyAController.java
  • 作用:处理各种请求,演示 Spring MVC 核心功能
  • 主要内容
    1. 请求映射:
      • @RequestMapping:通用请求映射
      • @GetMapping@PostMapping@PutMapping@DeleteMapping:RESTful 风格请求映射
    2. 转发与重定向:
      • 转发:return "forward:easyb";(默认方式)
      • 重定向:return "redirect:easyb";
    3. 参数接收方式:
      • @RequestParam:接收请求参数
      • @PathVariable:接收 URL 路径参数
      • Map 接收参数
      • 实体对象接收参数(推荐)
    4. RESTful 风格接口示例:
      • @GetMapping("user/{id}"):获取用户
      • @PostMapping("user"):新增用户
      • @PutMapping("user"):修改用户
      • @DeleteMapping("user/{id}"):删除用户
相关推荐
long3168 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
独断万古他化18 分钟前
【SSM开发实战:博客系统】(三)核心业务功能开发与安全加密实现
spring boot·spring·mybatis·博客系统·加密
rannn_11135 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
qq_124987075339 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
短剑重铸之日1 小时前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
张人玉1 小时前
VisionPro 定位与卡尺测量学习笔记
笔记·学习·计算机视觉·vsionprp
songyuc1 小时前
【BiFormer】BiFormer: Vision Transformer with Bi-Level Routing Attention 译读笔记
笔记·transformer
倒流时光三十年1 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
三水不滴1 小时前
计网:输入网址到网页显示
经验分享·笔记·计算机网络