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

  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. C++:delete不完整类型的指针

    简单版 以下代码编译时会有warning: class X; void foo(X* x) { delete x; } 在GCC4.1.2下,编译出错信息是: warning: possible pr ...

  2. python 操作浏览器打开指定网页

    #! /usr/bin/env python # encoding=utf8 import webbrowser import time webbrowser.open("http://ww ...

  3. python将xml转换成json数据

    # -*- coding: utf-8 -*- import requests import xmltodict import json def get_response(request_url): ...

  4. 《剑指offer》第二十四题(反转链表)

    // 面试题24:反转链表 // 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的 // 头结点. #include <iostream> #include &quo ...

  5. Codeforces 483B - Friends and Presents(二分+容斥)

    483B - Friends and Presents 思路:这个博客写的不错:http://www.cnblogs.com/windysai/p/4058235.html 代码: #include& ...

  6. python 函数参数介绍

    python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...

  7. 只输FLOAT值 TEXTBOX

    if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (in ...

  8. tryparse

    [C#笔札]Tryparse的用法   这是参考读物的上得一个例子.自己仿照做的作业 private void button1_Click(object sender, EventArgs e) { ...

  9. 源代码方式调试Mycat

    如果是第一次刚接触MyCat建议下载源码在本地通过eclipse等工具进行配置和运行,便于深入了解和调试程序运行逻辑. 1)源代码方式调试与配置 由于MyCat源代码目前主要托管在github上,大家 ...

  10. 一、Object类

    1.Object类是所有类的父类 声明一个类的时候,实际上已经默认继承了Object类 package property; public class Hero extends Object{ Stri ...