Java 后端实习复盘:企业级开发流程与核心模块解析
实习期间参与企业后台项目开发,熟悉企业开发流程与代码规范。这次经历让我从校园项目过渡到真实业务场景,特别是在权限控制、Token 管理以及缓存策略上有了深入理解。
实习核心流程
由于进入的是一个小公司,项目刚好启动,我参与了较多基础模块的开发。整个过程大致分为三个阶段。
基础准备与环境搭建(入职 1-3 天)
入职第一天主要是配置办公权限,比如飞书账号和邮箱。紧接着就是拉取代码和环境搭建。
- 版本管理:学习并使用 Git/SVN 等工具 clone 项目代码(公司使用的是阿里云云效)。
- 环境配置:搭建后端 + 前端开发环境,解决依赖问题确保项目能跑起来。
- 工具熟悉:mentor 教了 debug 技巧和快捷键,避免操作问题浪费时间。
项目熟悉阶段(入职 1-2 周)
这个阶段任务主要是熟悉环境和通用封装。我会寻找少量项目 bug 提交给 mentor 审核,完成简单 demo 任务,重点掌握 Git 与 MyBatis Plus 的使用。
- 基础认知:系统学习公司核心业务范围、业务流程及新人岗位能力要求。
- 深度熟悉:梳理项目目录结构、模块间交互逻辑,熟读 Common 通用包代码。
- 代码实践:基于现有框架完成简单 Demo,验证对框架及通用工具的掌握程度。
初步实践阶段(入职 2 周后)
熟悉业务后,快速投入开发工作。仿照其他模块的业务代码编写风格,负责管理模块相关开发,按照接口文档完成增删改查核心操作。
同时参与部分难度较复杂任务的讨论,提出了一些建议和优化思路,涉及 Redisson 分布式锁、第三方平台 Token 无感续期等问题。在项目迭代过程中,重点观察技术负责人在实践 Redis 缓存、Redisson 结合自定义注解+AOP 实现方法级别的分布式锁、处理异步日志、自定义合理线程池等业务场景时的实际解决方法。
企业项目核心模块
权限管理模块
权限校验是企业级系统的基石。我们使用了自定义注解配合 AOP 来实现方法级的权限控制。
首先定义一个 Auth 注解,用于标记需要权限校验的类或方法:
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Auth {
String[] value() default "";
}
接着通过 AOP 切面拦截这些方法,提取用户角色进行比对:
@Slf4j
@Aspect
@Component
@AllArgsConstructor
public class AuthAop {
@Pointcut("@annotation(auth)")
public void controllerAspect {}
Object Throwable {
LoginUserHandler.getLoginUser();
(loginUser == ) {
(ResponseCode.JWT_TOKEN_PARSING_ERROR);
}
Optional.ofNullable(loginUser.getRole()).orElse().toUpperCase();
(!Arrays.asList(auth.value()).contains(role)) {
(ResponseCode.INSUFFICIENT_PERMISSIONS);
}
proceedingJoinPoint.proceed();
}
}


