转载出处:

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

/**

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

**/

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配置实现

SpringMVC+Spring+mybatis项目从零开始--分布式项目结构搭建的更多相关文章

  1. SSM(SpringMVC+Spring+MyBatis)三大框架使用Maven快速搭建整合(实现数据库数据到页面进行展示)

    本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+M ...

  2. SpringMVC+Spring+mybatis项目从零开始--Spring mybatis mysql配置实现

    上一章我们把SSM项目结构已搭建(SSM框架web项目从零开始--分布式项目结构搭建)完毕,本章将实现Spring,mybatis,mysql等相关配置. 1.    外部架包依赖引入 外部依赖包引入 ...

  3. Idea SpringMVC+Spring+MyBatis+Maven调整【转】

    Idea SpringMVC+Spring+MyBatis+Maven整合   创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...

  4. SpringMVC+Spring+MyBatis+Maven调整【转】

    Idea SpringMVC+Spring+MyBatis+Maven整合   创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...

  5. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第八天】(solr服务器搭建、搜索功能实现)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  6. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第六天】

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  7. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第四天】

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  8. 第04项目:淘淘商城(SpringMvc+Spring+Mybatis) 的学习实践总结【第三天】

    淘淘商城(SpringMVC+Spring+Mybatis)  是传智播客在2015年9月份录制的,几年过去了.由于视频里课上老师敲的代码和项目笔记有些细节上存在出入,只有根据日志报错信息作出适当的调 ...

  9. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第二天】

    淘淘商城(SpringMVC+Spring+Mybatis)  是传智播客在2015年9月份录制的,几年过去了.由于视频里课上老师敲的代码和项目笔记有些细节上存在出入,只有根据日志报错信息作出适当的调 ...

随机推荐

  1. 转: MySQL5.7 ERROR 1142 (42000)问题

    1,mysql全库导入报错 [root@dev_121_21 ~]# mysql--socket=/usr/local/mysql/mysql.sock --default-character-set ...

  2. Eclipse 在线汉化的和修改字体大小、颜色的方法

    一.在线汉化 先进入 http://www.eclipse.org/babel/downloads.php 找到自己对应版本的网址,然后复制下来. 然后,进入eclipse.点工具栏上的Help - ...

  3. [转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境

    FROM : http://www.cnblogs.com/eleganthqy/archive/2010/02/28/1675217.html 最近转向到了使用ubuntu做桌面,安装好系统以来一直 ...

  4. python的日志模块:logging;django的日志系统;django日志输出时间修改

    Django的log,主要是复用Python标准库中的logging模块,在settings.py中进行配置 源代码 1.__init__.py包含以下类: StreamHandler Formatt ...

  5. Shell bc命令进行数学运算

    通常情况做简单的运算,很多命令里面都是支持的.比如for, awk等. #!/bin/bash num= #for循环这里的数字也是运算 #也可以使用 #也可以使用数组 ;i<=;++i)) d ...

  6. Go语言之进阶篇爬百度贴吧并发版

    1.爬百度贴吧并发版 示例: package main import ( "fmt" "net/http" "os" "strco ...

  7. webpack打包器简单入门

    概念 webpack是一个现代javascript应用程序的模块打包器. 当webpack处理你的应用程序时,它会递归构建一个依赖图(包含了你的应用程序所需要每个模块),然后把这些模块打包到少数几个b ...

  8. [leetcode]Word Ladder II @ Python

    [leetcode]Word Ladder II @ Python 原题地址:http://oj.leetcode.com/problems/word-ladder-ii/ 参考文献:http://b ...

  9. AccessText热键的使用

    AccessText可以用于Label与别的控件(常用于TextBox)绑定热键.也可以单独给别的控件设置热键 1.可以在label中使用AccessText 代码: <Label Horizo ...

  10. iOS开发-ViewController的生命周期和切换

    ViewController在App开发中是至关重要的一环,无论是页面的展示和数据之间的交互,ViewController提供了一个框架可以管理和构建App应用.iOS中构建App提供了两种方式一种是 ...