多模块开发,大致的思想就是把一个项目按某种方式分成多个模块,再把模块们连接成一个整体,我们在开发的时候,可以很清晰的操作每一个模块,可以大大提高开发的效率。

  Java web项目,最常见的就是按代码的作用分层开发,这和SSH框架有相互契合的思想:

    po、vo层——模型层

    dao层——数据库访问层(Hibernate)——其代码的作用一定是操作数据库,而Hibernate的作用就是方便我们操作数据库的

    service层——业务逻辑层(Spring)——其代码的作用一定是对业务逻辑的处理,而Spring的事务在这里启着很关键的作用

    web层——表现层(Struts)——其代码的作用一定是把业务处理的结果展示给前端,其代码包括了Java部分和Jsp等前端部分,而Struts则是前后端连接的桥梁

    …(还可以有多个其他层,比如文档层,单独放资源;工具层,放置第三方工具等)

     

  maven搭建多模块项目的做法:

    按照上面的分层去创建与之对应的模块:

      service层,dao层,po、vo层各自独立开发,然后各自打成一个jar包。

      web层对应的正好是web项目,整个项目的运行其实都是在这一层,然后上面的所有层都以jar包的形式引到这个项目里进来,运行的时候只需要运行这个项目。

  

  下面开始操作(工具:eclipse,自行配置好maven)

一、创建主项目(例:图书管理系统 tsglxt)

  1、File>>>>New>>>>Other

    选中Maven文件夹,展开,选中Maven Project

    Next

    

  2、勾选Create a simple和use default (不勾选也行,不勾选的话会多一个下一步:选中maven-archetype-quickstart,其它默认,效果和勾选一样,图就不放出来了,何必走弯路)

    Next

    

  3、填写项目信息

    注意Packaging 选择pom

    Finish

    

  4、删掉src,因为是父项目,所以这个不需要

    

二、创建po、vo层(这两个可以分开也可以放一起,我就都放一起了,起名为common),dao层,service层。(除了web层其他层都走这一步)

  1、右键项目>>>>New>>>>Other

    选中Maven文件夹,选中Maven Module

    Next

    

  

  2、勾选Create a simple

    给模块命名

    Next (别急着点Finish)

    

 

  3、检查这个是不是jar包

    Finish

  

  4、项目结构

  

三、重复第二步操作,把其它的模块(web层除外)都创建完

四、创建web层

  1、同第二步1

  2、同第二步2

  3、检查这个是不是war包,其它的都是jar包,就这个是war包

    Finish

    

  

  4、项目结构

    可以看出这个项目结构和上面的不一样,因为这是一个web项目

    我们注意到webapp里是没有任何文件的,到时候还要我们自己添

    

五、到这里就搭建好了,剩下的就是项目的文件配置

  

SSH项目搭建(三)——Maven多模块搭建项目的更多相关文章

  1. Struts2+Spring+Hibernate整合开发(Maven多模块搭建)

    Struts2+Spring+Hibernate整合开发(Maven多模块搭建) 0.项目结构 Struts2:web层 Spring:对象的容器 Hibernate:数据库持久化操作 1.父模块导入 ...

  2. Spring Boot 项目学习 (三) Spring Boot + Redis 搭建

    0 引言 本文主要介绍 Spring Boot 中 Redis 的配置和基本使用. 1 配置 Redis 1. 修改pom.xml,添加Redis依赖 <!-- Spring Boot Redi ...

  3. 在eclipse中使用Maven分模块搭建SSM框架,创建jar、war、pom工程模块教学,项目的热部署,需要的可以留下邮箱,给大家发整理过的Maven笔记

    第一章:Maven概述 (1)Maven是一个项目构建工具,由apache提供,用Java开发的 (2)构建工具:Ant(蚂蚁),Maven(专家) (3)构建工具作用:帮助程序员进行项目的创建,目录 ...

  4. JavaWeb_(SSH论坛)_三、用户模块

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 User表 id ...

  5. idea创建Web项目(基于Maven多模块)

    简述:通常我们开发的项目结构是由多个modules项目组合而成,并且由有个parent的maven项目整体管理.废话少说,直接进入创建过程. 创建parent项目 1.打开idea工具,按照下图操作, ...

  6. 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例

     1 若想让maven项目依赖另外一个maven项目.被依赖的项目要在maven仓库中有对应的jar包,所以要对依赖的项目运行mvninstall命令. 2 新建第二个项目模块HelloFrien ...

  7. java的maven项目(三)私服的搭建(windows版)

    1       私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码  admin/admin123 仓库类型 Virtual   虚拟仓库 Proxy  代 ...

  8. maven多模块搭建

    此时你会发现父模块含有如下内容 这是因为创建的maven项目都带有样例,比如上图的这张图片 各种artifact都是做什么的呢,@参考文章中给出了答案 怎么创建不带这些呢? 那就创建simple pr ...

  9. 搭建一个maven管理的ssm项目需要配置那些文件

    链接:https://blog.csdn.net/java987654/article/details/80746866

随机推荐

  1. [原][osg][osgearth]简单的通过osgDB,读取高程tif,修改高程tif

    ReadResult result; osg::ref_ptr<osgDB::ReaderWriter> reader = osgDB::Registry::instance()-> ...

  2. meta 标签

    <meta http-equiv="Refresh" content="5;url=http://www.w3school.com.cn" /> & ...

  3. Android Fragment与Activity通讯详解

    与activity通讯 尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例. Fragment可 ...

  4. Topless eclipse导入myeclipse的web项目没法识别问题解决

    1.进入项目目录,找到.project文件,打开. 2.找到<natures>...</natures>代码段. 3.在第2步的代码段中加入如下标签内容并保存: <nat ...

  5. Java EE、Java SE和Java ME

    Java SE=Java Standard EditionJava EE=Java Enterprise EditionJava ME=Java Mobile Edition SE主要用于桌面程序,控 ...

  6. codeforces 571a//Lengthening Sticks// Codeforces Round #317

    题意:三角形3条边,最多共添加ll长,问组成的合法三角形个数. 本来想用暴搜,觉得会超时就搜题解了.不过保证我解释得更清晰. 先计算ll长分配给3条边有几种分法?由于不分也是合法的,因此最后实际分出去 ...

  7. Razor及HtmlHelper学习笔记

    Razor 不是编程语言.它是服务器端标记语言. 什么是Razor? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时,基于 ...

  8. Leetcode 105

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  9. inherit

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { cl ...

  10. 【转】C# 生成二维码并且在中间加Logo(图片合并)

    public class QRCodeHelper { public static Bitmap GetThumbnail(Bitmap b, int destHeight, int destWidt ...