特别感谢

SSM 项目示例

这是一个基于 Spring + Spring MVC + MyBatis 的 Java Web 项目示例,包含两个版本:

  • ssm_project_annotaion:基于注解配置的版本
  • ssm_project_xml:基于 XML 配置文件的版本

项目功能

实现了一个简单的员工信息管理模块,主要功能包括:

  • 查询员工列表
  • 统一异常处理
  • 拦截器功能(仅注解版)
  • 声明式事务管理

模块结构

  • Controller 层:处理 HTTP 请求(EmployeeController
  • Service 层:业务逻辑处理(EmployeeService 接口及其实现类)
  • Mapper 层:数据库操作(EmployeeMapper 接口)
  • Model 层:实体类(Employee
  • 配置类:Spring、MyBatis 等框架配置
  • 异常处理:全局异常处理器(GlobalExceptionHandler

基于xml配置文件的SSM项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
├─ ssm_project_annotaion/                  # 基于注解的 SSM 示例
├─ pom.xml
├─ src/
│ └─ main/
│ ├─ java/
│ │ └─ com/lixw/
│ │ ├─ config/ # Spring、MyBatis、Web 配置
│ │ ├─ controller/ # 控制器
│ │ ├─ exceptionhandler/ # 全局异常处理
│ │ ├─ initialize/ # Web 容器初始化
│ │ ├─ interceptor/ # 拦截器
│ │ ├─ mapper/ # Mapper 接口
│ │ ├─ pojo/ # 实体类
│ │ └─ service/ # 业务接口与实现
│ ├─ resources/
│ │ ├─ jdbc.properties
│ │ ├─ mapper/EmployeeMapper.xml
│ │ └─ mybatis-config.xml
│ └─ webapp/
│ └─ WEB-INF/
│ ├─ views/index.jsp
│ └─ web.xml

基于注解与配置类的SSM项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
├─ ssm_project_xml/                        # 基于 XML 的 SSM 示例
├─ pom.xml
├─ src/
│ └─ main/
│ ├─ java/
│ │ └─ com/lixw/ # 控制器、异常处理、Mapper、实体、服务等
│ │ ├─ config/ # Spring、MyBatis、Web 配置
│ │ ├─ controller/ # 控制器
│ │ ├─ exceptionhandler/ # 全局异常处理
│ │ ├─ initialize/ # Web 容器初始化
│ │ ├─ interceptor/ # 拦截器
│ │ ├─ mapper/ # Mapper 接口
│ │ ├─ pojo/ # 实体类
│ │ └─ service/ # 业务接口与实现
│ ├─ resources/
│ │ ├─ applicationContext.xml # Spring 主配置
│ │ ├─ jdbc.properties
│ │ ├─ mapper/EmployeeMapper.xml
│ │ ├─ mybatis-config.xml
│ │ └─ spring-mvc.xml # Spring MVC 配置
│ └─ webapp/
│ └─ WEB-INF/
│ ├─ views/index.jsp
│ └─ web.xml

技术栈

  • Spring Framework
  • Spring MVC
  • MyBatis
  • Maven(项目构建)
  • Java 注解配置(针对注解版)
  • XML 配置(针对 XML 版)

运行环境

  • JDK 1.8 或更高版本
  • Maven 3.x
  • 支持 Servlet 3.0 的 Web 容器(如 Tomcat 8+)
  • MySQL 数据库(需根据 jdbc.properties 配置)

使用说明

  1. 导入项目到 IDE(如 IntelliJ IDEA 或 Eclipse)
  2. 修改数据库连接配置(jdbc.properties 文件)
  3. 创建对应的数据库表结构
  4. 使用 Maven 构建项目
  5. 部署到 Web 容器中运行
  6. 访问 /employee 接口获取员工列表数据

学习目标

该项目适合学习 SSM(Spring + Spring MVC + MyBatis)框架整合开发,包含两种主流配置方式:

  • 注解驱动的现代配置方式
  • XML 配置的传统方式

通过对比两个版本,可以更好地理解 Spring 框架的不同配置方式及其演进。

常用注解说明

  • @Controller:标记控制层组件
  • @Service:标记服务层组件
  • @Repository:标记 DAO 层组件
  • @Mapper:MyBatis Mapper 接口标记(有时也用 @Repository
  • @Autowired:自动注入依赖对象
  • @Resource:按名称注入依赖对象
  • @Configuration:标记配置类
  • @Bean:定义 Bean
  • @EnableWebMvc:开启 Spring MVC 功能
  • @Transactional:声明事务管理
  • @ControllerAdvice:全局异常处理类
  • @ExceptionHandler:定义具体异常的处理方法