SpringBoot+Vue奖学金管理系统开发实践

1. 项目概述:奖学金评定管理系统的技术架构与价值

陕西理工大学奖学金评定管理系统是一款基于SpringBoot+Vue技术栈开发的B/S架构应用,主要解决高校奖学金评审过程中人工操作繁琐、数据统计复杂、流程透明度低等痛点。系统采用前后端分离设计,后端基于SpringBoot 2.7+MyBatis+MySQL构建业务逻辑与数据持久层,前端使用Vue 3+Element Plus实现响应式管理界面。

关键设计考量:选择SpringBoot而非传统SSM框架,主要考虑其快速启动特性(平均项目初始化时间减少60%)和嵌入式Tomcat支持;Vue 3的Composition API相比Options API更适合复杂表单交互场景;MySQL 8.0的窗口函数能高效处理学生成绩排名等统计需求。

需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。

2. 核心功能模块解析

2.1 多维度评分计算引擎

系统内置加权算法引擎,支持GPA、科研成果、社会实践等指标的动态配置。核心实现采用MyBatis动态SQL构建条件查询:

xml复制<select id="calculateWeightedScore" resultType="Double">
  SELECT 
    SUM(
      CASE 
        WHEN indicator_type = 'gpa' THEN #{gpaWeight} * value
        WHEN indicator_type = 'research' THEN #{researchWeight} * value
        ELSE 0
      END
    ) AS total_score
  FROM student_achievements
  WHERE student_id = #{studentId}
</select>

2.2 可视化流程配置器

通过Vue Draggable组件实现评审流程的可视化编排,支持院系自定义以下环节:

  • 辅导员初审(材料完整性校验)
  • 专业评审组复核(成绩真实性验证)
  • 学院终审(名额分配与公示)

2.3 实时数据看板

基于ECharts的三种核心视图:

  1. 生源地奖学金分布热力图
  2. 专业间获奖比例对比柱状图
  3. 评审进度甘特图

3. 关键技术实现细节

3.1 SpringBoot后端优化实践

3.1.1 性能优化方案

  • 二级缓存:Redis缓存热门专业学生数据(TTL 2小时)
  • 连接池:HikariCP配置(maxPoolSize=50, connectionTimeout=3000ms)
  • 异步处理:@Async注解处理邮件通知任务

3.1.2 安全控制

java复制@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/admin/**").hasRole("ADMIN")
            .antMatchers("/teacher/**").hasAnyRole("TEACHER","ADMIN")
            .anyRequest().authenticated()
            .and()
            .formLogin().loginPage("/login").permitAll();
    }
}

3.2 Vue前端工程化实践

3.2.1 组件化设计

  • 评审表单组件:采用Vue 3的