Java 后端实习复盘:企业级项目实战与核心代码解析
实习期间深度参与了企业后台项目的开发,熟悉企业级开发流程、代码规范及核心业务模块的实现。以下是基于实际经历的技术总结。
实习核心流程
基础准备与环境搭建
入职初期主要完成办公权限配置(如飞书、邮箱)及代码拉取。公司使用阿里云云效进行版本管理,需自行搭建后端 + 前端环境。重点在于解决依赖问题确保项目可运行,并掌握 Mentor 传授的 Debug 技巧与快捷键,减少无效操作时间。
项目熟悉阶段
这一周的核心是建立整体认知。通过同事讲解明确核心模块划分、技术架构及上下游依赖。梳理目录结构,深入理解数据库设计,熟读 Common 通用包代码。建议重点拆解业务三层架构(控制层、服务层、数据层),对照接口文档理解代码实现,并通过简单 Demo 验证框架掌握程度。
初步实践阶段
熟悉业务后快速投入开发,负责管理模块的增删改查。参与复杂任务讨论时,重点关注 Redis 缓存、Redisson 分布式锁、自定义注解结合 AOP 处理异步日志等场景的实际应用。
核心模块解析
权限管理模块
系统通过自定义 @Auth 注解配合 Spring AOP 实现方法级别的权限校验。
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Auth {
String[] value() default "";
}
切面类 AuthAop 拦截标注了 @Auth 的方法,提取用户角色并与注解值比对。若权限不足直接抛出异常。这种设计将权限逻辑与业务解耦,便于统一维护。
Token 管理与认证
登录过滤器 LoginFilter 作为请求入口的关卡,负责区分白名单路径与普通认证请求。核心逻辑包括初始化白名单、解析 Token、校验用户上下文以及清理线程局部变量防止内存泄漏。
@Component
@WebFilter(urlPatterns = "/*")
@Slf4j
@AllArgsConstructor
public class LoginFilter implements Filter {
// ... 省略部分配置 ...
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest (HttpServletRequest) servletRequest;
(HttpServletResponse) servletResponse;
httpResponse.setContentType();
(ignorePatterns.stream().anyMatch(p -> p.matches(PathContainer.parsePath(httpRequest.getRequestURI())))) {
filterChain.doFilter(servletRequest, servletResponse);
;
}
(handle(httpRequest, httpResponse)) {
filterChain.doFilter(servletRequest, servletResponse);
}
}
}


