# spring-learning **Repository Path**: tangzhongkai/spring-learning ## Basic Information - **Project Name**: spring-learning - **Description**: 这是一个基于Maven多模块结构的Spring学习项目,用于学习和实践各种Spring相关技术。每个技术都被分配到单独的模块中,便于独立学习和管理。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-02 - **Last Updated**: 2026-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Learning 多模块项目 ## 项目介绍 这是一个基于Maven多模块结构的Spring学习项目,用于学习和实践各种Spring相关技术。每个技术都被分配到单独的模块中,便于独立学习和管理。 ## 项目结构 ``` spring-learning/ ├── spring-learning-redis/ # Redis学习模块 ├── spring-learning-mybatis/ # MyBatis学习模块 └── pom.xml # 父项目POM文件 ``` ## 技术栈 - **Java**: 11 - **Spring Boot**: 2.7.15 - **Maven**: 3.6.3+ ### 模块详情 #### spring-learning-redis - **功能**: 学习Redis的使用和各种功能 - **主要技术**: Spring Boot + Redis + Spring Data Redis - **端口**: 8081 - **主要功能点**: - 字符串类型操作 - 哈希类型操作 - 列表类型操作 - 键的过期时间管理 #### spring-learning-mybatis - **功能**: 学习MyBatis框架的使用 - **主要技术**: Spring Boot + MyBatis + H2数据库 - **端口**: 8082 - **主要功能点**: - 基本的CRUD操作 - XML映射文件配置 - 注解方式的SQL定义 - 动态SQL - H2内存数据库使用 ## 快速开始 ### 前置要求 - JDK 11+ - Maven 3.6.3+ - Redis (用于Redis模块) ### 启动项目 #### 启动Redis模块 ```bash cd spring-learning/spring-learning-redis mvn spring-boot:run ``` #### 启动MyBatis模块 ```bash cd spring-learning/spring-learning-mybatis mvn spring-boot:run ``` ## API文档 ### Redis模块API | 方法 | URL | 功能描述 | |------|-----|----------| | POST | /redis/string | 设置字符串类型的数据 | | GET | /redis/string/{key} | 获取字符串类型的数据 | | POST | /redis/hash | 设置哈希类型的数据 | | GET | /redis/hash/{key}/{field} | 获取哈希类型的数据 | | GET | /redis/hash/{key} | 获取哈希类型的所有字段和值 | | POST | /redis/list/left | 添加元素到列表头部 | | POST | /redis/list/right | 添加元素到列表尾部 | | GET | /redis/list/{key} | 获取列表范围元素 | | DELETE | /redis/{key} | 删除指定的键 | | PUT | /redis/{key}/expire | 设置键的过期时间 | | GET | /redis/{key}/expire | 获取键的过期时间 | ### MyBatis模块API | 方法 | URL | 功能描述 | |------|-----|----------| | GET | /users/{id} | 根据ID查询用户 | | GET | /users | 查询所有用户 | | GET | /users/username/{username} | 根据用户名查询用户 | | GET | /users/age | 根据年龄范围查询用户 | | POST | /users | 创建用户 | | PUT | /users/{id} | 更新用户 | | DELETE | /users/{id} | 删除用户 | ## 数据库配置 ### Redis配置 Redis模块使用本地Redis服务,默认配置如下: - 主机: localhost - 端口: 6379 - 数据库: 0 可以在 `application.properties` 文件中修改配置。 ### MyBatis配置 MyBatis模块使用H2内存数据库,默认配置如下: - URL: jdbc:h2:mem:testdb - 用户名: sa - 密码: (空) - H2控制台: http://localhost:8082/h2-console ## 学习资源 - [Spring Boot官方文档](https://spring.io/projects/spring-boot) - [Redis官方文档](https://redis.io/documentation) - [MyBatis官方文档](https://mybatis.org/mybatis-3/zh/index.html) - [H2数据库官方文档](https://www.h2database.com/html/main.html) ## 扩展指南 ### 添加新模块 1. 在父项目的pom.xml文件中添加新模块: ```xml spring-learning-redis spring-learning-mybatis spring-learning-new-module ``` 2. 创建新模块的目录结构: ``` spring-learning-new-module/ ├── src/ │ ├── main/ │ │ ├── java/com/kai/spring/newmodule/ │ │ └── resources/ │ └── test/ └── pom.xml ``` 3. 创建新模块的pom.xml文件,继承父项目。 ## 注意事项 - 确保在运行Redis模块前,本地Redis服务已经启动。 - MyBatis模块使用的是H2内存数据库,数据会在应用停止后丢失。 - 项目使用的是Spring Boot 2.7.15版本,如需升级版本,请检查兼容性。 ## 许可证 本项目仅供学习使用。