SpringMVC+Spring+mybatis+Redis项目从零开始--分布式项目结构搭建

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: SpringMVC+Spring+mybatis+Redis项目从零开始--分布式项目结构搭建http://www.bieryun.com/1524.html 一.SSM项目-分布式项目结构搭建 二.SSM项目-Spring mybatis mysql配置实现 三.SSM项目-redis缓存策略和配置实现 四.SSM项目-Springmvc配置实现 一、SSM框架web项目从零开始--分布式项目结构搭建 /** 本文为博主原创文章,如转载请附链接。

SpringMVC+Spring+mybatis+Redis项目从零开始--分布式项目结构搭建

一.SSM项目-分布式项目结构搭建

二.SSM项目-Spring mybatis mysql配置实现
三.SSM项目-redis缓存策略和配置实现
四.SSM项目-Springmvc配置实现

一、SSM框架web项目从零开始--分布式项目结构搭建

/**

本文为博主原创文章,如转载请附链接。

**/

一.  SSM项目-目录框架搭建实现

1.    序言

做SSM项目有一段时间,从来没有系统性的对整个项目结构做一次总结,临近年关,趁着有时间,想把整个SSM项目框架的相关内容梳理一下,同时也弥补自己不足,可能有些考题考虑不周,请大家多多谅解。

本系列文章,会涉及到Springmvc,spring,mybatis,maven ,mysql,redis等框架知识,如果自身对相关知识不了解的同学,请到对应的官网进行自我充电。同时,本系列文章只是做SSM项目的搭建实例,有些问题不会深入。如果对您有帮助,请点赞吧!

2.    SSM项目从零开始文章目录

本系列文章将分四章进行,具体文章目录如下

1)   SSM项目-maven项目结构搭建

2)   SSM项目-Spring mybatis mysql配置实现

3)   SSM项目-redis缓存策略和配置实现

4)   SSM项目-Springmvc配置实现

3.    SSM项目-maven项目结构搭建

3.1  SSM项目结构

3.1.1     传统SSM项目结构

优点:所有项目代码统一分布在一个文件,易于管理;

缺点:所有项目代码统一分布在一起,各模块耦合度大,不利于代码分布式管理,不利于项目分布式部署,maven需要每个单独编译处理。

3.1.2     分布式SSM项目结构

缺点:代码分散,代码量加大;

优点:代码见耦合度降低,利于代码管理,项目见通过pom依赖进行相关调用依赖,部署时通过jar实现项目间依赖,同时利于项目分布式部署。

3.2  SSM项目结构实现

本节将实现3.1.2中分布式SSM项目结构,整体项目结构如下

3.2.1     ssm-parent

ssm项目maven父工程,pom中可以配置整个web应用相关的架包依赖,插件,jdk版本等
3.2.1.1  Maven project新建

1)   新建maven project项目;

2)   选择 Create a simple project…

3)   设置项目保存目录Location,如果选择默认,可能会出现项目目录文件混乱,不易管理。

3.2.1.2  Configure project

1)   Packaging需要选择pom;

3.2.1.3  ssm-parent项目结构

3.2.2     ssm-commons

ssm项目中公共组件包,以便其他工程调用。
3.2.2.1  Maven project

3.2.2.2  Configure project

1)   Packaging选择jar

2)   ParentProject输入ssm-parent相关信息

3.2.2.3  ssm-commons项目结构

3.2.3     ssm-manager

ssm项目中web应用实现工程
3.2.3.1  Maven project

3.2.3.2  Configure project

1)   Packaging选择pom;

2)   ParentProject输入ssm-parent

3.2.3.3  ssm-manager项目结构

3.2.4     ssm-manager-pojo

pojo存放项目相关实体

3.2.4.1  Maven module

3.2.4.2  Configure project

1)   Packaging选择jar

3.2.5     ssm-manager-service和ssm-manager-mapper

ssm-manager-mapper: dao层,主要与数据交互;

ssm-manager-service: service层,主要进行业务逻辑处理;

ssm-manager-service,ssm-manager-mapper的项目工程类似

ssm-manager-pojo

3.2.6     ssm-manager-controller

ssm-manager-controller:与前端交互控制,同时也包含前端代码;

3.2.6.1  Maven module

类似ssm-manager-pojo创建module;

3.2.6.2  Configure project

1)   Packaging选择war;

3.2.6.3  ssm-manager-controller项目结构

 

4.    SSM项目-项目结构总结

通过上面的步骤,我们SSM项目整体项目结构已搭建完成,下一章我们将引入Spring,mybatis实现相关配置。

 

二.  SSM项目-Spring mybatis mysql配置实现

三.  SSM项目-redis缓存策略和配置实现

四.  SSM项目-Springmvc配置实现

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
24天前
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
70 5
|
27天前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
44 4
|
27天前
|
SQL Java 数据库连接
spring和Mybatis的各种查询
Spring 和 MyBatis 的结合使得数据访问层的开发变得更加简洁和高效。通过以上各种查询操作的详细讲解,我们可以看到 MyBatis 在处理简单查询、条件查询、分页查询、联合查询和动态 SQL 查询方面的强大功能。熟练掌握这些操作,可以极大提升开发效率和代码质量。
43 3
|
1月前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
26 1
|
1月前
|
消息中间件 NoSQL Java
Spring Boot整合Redis
通过Spring Boot整合Redis,可以显著提升应用的性能和响应速度。在本文中,我们详细介绍了如何配置和使用Redis,包括基本的CRUD操作和具有过期时间的值设置方法。希望本文能帮助你在实际项目中高效地整合和使用Redis。
58 2
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
49 0
|
2月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
4月前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
132 2
基于Redis的高可用分布式锁——RedLock
|
27天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
61 8
|
1月前
|
NoSQL Redis
Redis分布式锁如何实现 ?
Redis分布式锁通过SETNX指令实现,确保仅在键不存在时设置值。此机制用于控制多个线程对共享资源的访问,避免并发冲突。然而,实际应用中需解决死锁、锁超时、归一化、可重入及阻塞等问题,以确保系统的稳定性和可靠性。解决方案包括设置锁超时、引入Watch Dog机制、使用ThreadLocal绑定加解锁操作、实现计数器支持可重入锁以及采用自旋锁思想处理阻塞请求。
59 16