一、开发环境:

0、Eclipse Java EE IDE for Web Developers:  /Version: 2018-09 (4.9.0)  /  Build id: 20180917-1800

1、tomcat:tomcat9.0

2、JDK:jdk1.8

3、maven:apache-maven-3.6.0

二、为什么要分模块,是干饭吃多了吗?还是开发闲的无聊故意装逼?

0、依赖关系的优化,不分模块,一个pom.xml中依赖越来越长,很多不必要的依赖被引入,甚至一个依赖出现多个版本。

1、专人专模块维护和开发,对于与数据库交互的dao层,sql语句想交给经验丰富的人维护和开发,分模块后有利于该目的实现。

2、一个entitys模块和dao模块可被多个service模块及web模块使用,相信做过类似:“一个系统分为前台给用户使用和后台给管理员使用”的系统的小伙伴们深有感触。分模块后,完全可以将dao模块和entitys模块写死,写两套service和web,一套给前台用户,一套做给后台管理员使用。

三、多模块项目搭建过程:

0、项目结构及依赖关系:

1、创建父模块:File------new----other---Maven

2、创建子模块 entitys/dao/service

父模块----右键----new---other----maven

将study-entity打成jar包发到maven本地,供study-dao、study-service、study-web依赖。

字模块右键----Run As-----Maven Build---

按上述步骤依次创建study-dao、study-service。并打包发到maven本地。

打包完后可以进自己的本地依赖仓库去看有没有具体的包生成:

为study-dao添加study-entitys依赖

保存后:查看pom.xml文件:

同理为study-service添加study-dao依赖。

3、创建子模块 web

study-parent 右键---new---Maven---Maven Module

这时study-web有错误,在webapp下面新建WEB-INF文件夹 再新建web.xml文件,错误消失。

web.xml中的内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd" version="2.4"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

按之前步骤为study-web添加study-service依赖。
至此项目框架搭建结束。

我这里把父模块下的src文件夹删除了,然后添加了一个sql文件夹,用于存放整个项目的sql脚本。

具体ssm代码后续持续更新。

四、分层优化:

0、项目结构优化:

mysql表实体类:工具自动生成。

mapper.xm:工具自动生成。

mapper.java:工具自动生成。

前台或后端实体类:用户参数传递的封装----自己创建。

mysql表实体类:表的联查,如果涉及到包含一个已知表,直接extends继承已知表,然后再新的实体类里嘉加上自己的字段。

Iservice.java:返回值,用HashMap<>或JSONObject类型。入参,用前台或后端实体类,或个别单个数据类型。

serviceImpl.java(@Service):

controller.java(@Controller):只负责接受参数及请求分发,及前台或后端实体类的对象生成,使用JSONObject类型进行封装。

对service层这种参数的处理,直接优化了整个项目的结构,让所有的逻辑都在service处理,包括待返回参数的封装,这种模式有利于整个逻辑的解耦,更好的分层。

Maven搭建多模块企业级项目+SSM框架搭建相关推荐

  1. Maven 搭建多模块企业级项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

  2. SSM框架搭建(四) springmvc和mybatis的配置

    SSM框架搭建(一) JDK和MAVEN环境搭建 SSM框架搭建(二) 创建MAVEN项目 SSM框架搭建(三) 数据库创建和MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件 S ...

  3. Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建实例

    这篇文章我们来实现使用maven构建工具来搭建Spring+Mybatis+SpringMVC+MySql的框架搭建实例.工程下载 使用maven当然得配置有关环境了,不会配置的请看我前几篇文章,都有 ...

  4. 小菜鸟的SSM框架搭建【详细步骤】【SSM/IDEA/MAVEN】

    小菜鸟的SSM框架搭建 内容很长噢,一步步搭建 此框架是跟着b站上的黎曼的猜想所发布的视频搭建起来的,细节操作可以看视频.我只是在这里梳理一下ssm框架搭建的流程. 整合说明:SSM整合可以使用多种方 ...

  5. ssm框架搭建连接mysql_从零开始搭建SSM框架(Spring + Spring MVC + Mybatis)

    最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教, ...

  6. javaweb成长之路:SSM框架搭建

    学习javaweb开发,框架的学习是难以避免的,合理的使用框架进行开发,可以很大程度的提升开发效率,减少开发者的工作量.随着it行业的不断发展,各种框架也是层出不穷,目前使用最广的框架应该是属于ssm ...

  7. SSM框架搭建,及遇到的问题

    SSM框架搭建,及遇到的问题 1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Exp ...

  8. java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载

    java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成.解析.下载 自己用java搭建一个属于自己APP二维码合成网站.我的思路是这样的: 1.用户在前台表单提交APP的IOS和Andro ...

  9. idea SSM框架搭建超详细

    1,## 创建maven项目 file >>new >>project 注意选择图中蓝色字体部分 并勾选Create from archetype 点击next 创建好项目名 ...

最新文章

  1. 4模型导出_项目模型规范总结 游戏模型制作的注意事项
  2. 在Mac上利用pip3安装pyecharts模块
  3. 浏览器同部署了https的服务器交互的过程
  4. 日记 [2007年04月05日]QMAIL服务器回顾
  5. Lenovo F41 使用WinXP不能全屏看Flash格式的电影的解决方法
  6. 苹果宣布创立欧洲首个iOS开发中心
  7. 【搜遍互联网,集百家之长】环境配置从入门到放弃之Mac环境下,安装XAMPP,给phpstorm安装Xdebug调试工具...
  8. 如何使用SQL Server INSTEAD-OF触发器
  9. c c 语言写的四六级词汇系统,2020英语四六级词汇积累:以c开头的单词(二)
  10. java 开发详解_面向接口编程详解-Java篇
  11. 超赞Transformer+CNN=SOTA!
  12. HAproxy开启日志记录
  13. python 抓取电脑界面_学会了Python,我的人生跟开挂一样
  14. include指令的局限性
  15. Unity3D实现AB包加载资源
  16. 面试官:TCP和UDP两者的区别是什么?
  17. html诗词赏析网页制作,网页课程设计_诗词鉴赏.pdf
  18. 话费充值api接口 手机话费充值功能接入
  19. Illegal group reference:非法组引用异常
  20. 1bit quantization

热门文章

  1. c/c++教程 - 1.1 代码注释
  2. 敏捷开发“松结对编程”实践之六:大型团队篇|后记(大型研发团队,学习型团队,139团队,师徒制度,人员招聘,职业生涯规划)...
  3. struts2.0+spring intercepter 不能注入属性
  4. P1551 亲戚题解
  5. Windows的空格预览神器 | QuickLook
  6. LeetCode OJ:Bitwise AND of Numbers Range
  7. 男人要明白的22件事
  8. kubenetes 1.4的Master节点克隆并改造为node节点以及node查询问题解决
  9. collatz序列 python程序_Python Collatz序列实现过程解析
  10. Auto.js 如何WIFI连接VS Code插件