java小总结

1. 容器类:Java 的"Vector"在哪里?

在 Java 中,我们几乎不使用 Vector(它是线程安全的,但性能较差),我们用 集合框架 (Collections Framework)

C++ 容器 Java 对应类 常用操作
std::vector ArrayList<T> list.add(e), list.get(index), list.size()
std::map HashMap<K, V> map.put(key, value), map.get(key)
std::set HashSet<T> set.add(e), set.contains(e)
std::list LinkedList<T> 链表实现,适合频繁插入删除

小贴士 :Java 集合只能存对象。如果你想存整数,要写 ArrayList<Integer> 而不是 int


2. 如何处理前端传来的文件?

在 Spring Boot 中,文件被抽象为一个类:MultipartFile

  • 接收方式:在 Controller 的参数里直接写。

  • 常用 API

    • file.getOriginalFilename():获取原文件名。

    • file.getSize():获取大小。

    • file.transferTo(destFile)最核心,直接把文件保存到服务器磁盘。


3. 如何生成唯一 ID (UUID)?

Java 内置了工具类,一行代码搞定,不需要引入第三方库。

  • 类名java.util.UUID

  • 写法

    Java

    复制代码
    String id = UUID.randomUUID().toString(); 
    // 生成类似:550e8400-e29b-41d4-a716-446655440000
  • 场景:给上传的图片重命名(防止文件名重复),或者生成临时的订单号。


4. 如何配置拦截器 (Interceptor)?

拦截器是 Spring MVC 的功能,用来在请求到达 Controller 之前做检查(比如检查 JWT)。

  1. 定义拦截器 :写一个类实现 HandlerInterceptor 接口。

  2. 核心方法preHandle。在这里写你的校验逻辑,返回 true 放行,返回 false 拦截。

  3. 注册拦截器 :写一个配置类实现 WebMvcConfigurer 接口,在 addInterceptors 方法里添加刚才定义的拦截器。


5. 如何配置跨域请求 (CORS)?

跨域是浏览器的安全限制。后端只需要告诉浏览器:"我允许这个前端域名访问"。

  • 简单方法 :在 Controller 类上加一个注解 @CrossOrigin

  • 全局配置 :同样是在 WebMvcConfigurer 配置类里,重写 addCorsMappings 方法。

    Java

    复制代码
    registry.addMapping("/**") // 所有接口
            .allowedOrigins("http://localhost:5173") // 允许前端地址
            .allowCredentials(true); // 允许携带 Cookie
相关推荐
启山智软7 小时前
【中大企业选择源码部署商城系统】
java·spring·商城开发
我真的是大笨蛋7 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
怪兽源码8 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
恒悦sunsite8 小时前
Redis之配置只读账号
java·redis·bootstrap
梦里小白龙8 小时前
java 通过Minio上传文件
java·开发语言
人道领域8 小时前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
sheji52618 小时前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
毕设源码-邱学长8 小时前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
摇滚侠9 小时前
Java项目教程《尚庭公寓》java项目从开发到部署,技术储备,MybatisPlus、MybatisX
java·开发语言
€8119 小时前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战