SSH项目搭建(三)——Maven多模块搭建项目
多模块开发,大致的思想就是把一个项目按某种方式分成多个模块,再把模块们连接成一个整体,我们在开发的时候,可以很清晰的操作每一个模块,可以大大提高开发的效率。
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多模块搭建项目的更多相关文章
- Struts2+Spring+Hibernate整合开发(Maven多模块搭建)
Struts2+Spring+Hibernate整合开发(Maven多模块搭建) 0.项目结构 Struts2:web层 Spring:对象的容器 Hibernate:数据库持久化操作 1.父模块导入 ...
- Spring Boot 项目学习 (三) Spring Boot + Redis 搭建
0 引言 本文主要介绍 Spring Boot 中 Redis 的配置和基本使用. 1 配置 Redis 1. 修改pom.xml,添加Redis依赖 <!-- Spring Boot Redi ...
- 在eclipse中使用Maven分模块搭建SSM框架,创建jar、war、pom工程模块教学,项目的热部署,需要的可以留下邮箱,给大家发整理过的Maven笔记
第一章:Maven概述 (1)Maven是一个项目构建工具,由apache提供,用Java开发的 (2)构建工具:Ant(蚂蚁),Maven(专家) (3)构建工具作用:帮助程序员进行项目的创建,目录 ...
- JavaWeb_(SSH论坛)_三、用户模块
基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 User表 id ...
- idea创建Web项目(基于Maven多模块)
简述:通常我们开发的项目结构是由多个modules项目组合而成,并且由有个parent的maven项目整体管理.废话少说,直接进入创建过程. 创建parent项目 1.打开idea工具,按照下图操作, ...
- 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例
1 若想让maven项目依赖另外一个maven项目.被依赖的项目要在maven仓库中有对应的jar包,所以要对依赖的项目运行mvninstall命令. 2 新建第二个项目模块HelloFrien ...
- java的maven项目(三)私服的搭建(windows版)
1 私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码 admin/admin123 仓库类型 Virtual 虚拟仓库 Proxy 代 ...
- maven多模块搭建
此时你会发现父模块含有如下内容 这是因为创建的maven项目都带有样例,比如上图的这张图片 各种artifact都是做什么的呢,@参考文章中给出了答案 怎么创建不带这些呢? 那就创建simple pr ...
- 搭建一个maven管理的ssm项目需要配置那些文件
链接:https://blog.csdn.net/java987654/article/details/80746866
随机推荐
- asp.net <asp:Repeater>下的radio的单选使用
aspx页面 <asp:Repeater ID="rptData" runat="server"> <ItemTemplate> < ...
- C++:几种callable实现方式的性能对比
C++中几种callable实现方式的性能对比 前言 C++中想实现一个callable的对象,通常有四种方式: std::function:最common的方式,一般会配合std::bind使用. ...
- Springboot 如何加密,以及利用Swagger2构建Restful API
先看一下使用Swagger2构建Restful API效果图 超级简单的,只需要在pom 中引用如下jar包 <dependency> <groupId>io.springfo ...
- [原][osg][osgEarth]关于在OE中使用物理引擎的调研
关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://s ...
- [ios]NSThread传值 NSValue传值
NSThread:http://www.cocoachina.com/bbs/read.php?tid=51873 NSValue:http://blog.sina.com.cn/s/blog_bf9 ...
- jq的attr()与prop()之间区别
1.attr() 一直存在,prop() 仅存在于 jq-1.6 及其之后 2.新版本jq使用细节: 2.1 自定义添加至dom节点的属性,用attr获取 2.2 表单类checked.selecte ...
- Codeforces 483B - Friends and Presents(二分+容斥)
483B - Friends and Presents 思路:这个博客写的不错:http://www.cnblogs.com/windysai/p/4058235.html 代码: #include& ...
- 2017"百度之星"程序设计大赛 - 资格赛-度度熊与邪恶大魔王(dp+后缀最小值)
度度熊与邪恶大魔王 思路:由于防御和血量的范围很小,所以暴力枚举出对于每种防御造成的每种伤害所需的最小花费,最后只需在伤害大于等于血量的情况下再找到最小花费(这个只需要后缀最小值预处理一下就可以了) ...
- 20170706xlVBA城中村改造汇总
Public Sub GatherDataPicker() Application.ScreenUpdating = False Application.DisplayAlerts = False A ...
- Number Clicker CodeForces - 995E (中途相遇)
链接 大意: 给定模数$p$, 假设当前在$x$, 则可以走到$x+1$, $x+p-1$, $x^{p-2}$ (mod p), 求任意一条从u到v不超过200步的路径 官方题解给了两个做法, 一个 ...