一、创建父工程

  1.选择>>"Maven Project"创建Maven工程、并且选择Packaging为 POM。

    创建父工程主要是让子工程区继承父工程,减少冗余,多团队开发。

  2.在pom.xml文件中添加所需要的依赖包。(方便子类继承)

  3.将父工程打包到本地仓库中。(使用 "工程右键">>"Run As" >>"Maven build... ">>输入"install")

    

二、创建Dao层模块(及导入相关配置文件)

  1.在父工程右键>>"new ">>"Maven Module" >>"finish"

  2.在该模块中写和dao有关的代码。如下图所示。

  

  3.测试功能代码(junit,每次测试完以防发生未知错误,建议测试完注解)

   因为test代码会和install冲突,执行两次。

  4.将dao模块发布到本地仓库(为service提供使用)

    右键模块>>"Run As">>"Maven Build...">>"install"

  

 三、service模块对的开发(及导入相关配置文件)

  1.在父工程右键>>"new ">>"Maven Module" >>"finish"

  2.在service模块中的“pom.xml”添加“dao依赖”(备注:如果在pom.xml中搜索不到,是因为没有重建索引)

  

  添加dao依赖包如图所示:

  3.添加service模块代码

  

  4.测试该模块(记得测试完要注释)使用以下代码测试。(因为service层测试和dao层不一样。service层需要用到dao层的配置代码,所以也是需要要到applicationContext-dao.xml配置文件。通过locations={"classpath*:applicationContext-*.xml"}来获取多个配置文件。)    

//@ContextConfiguration(locations={"classpath*:applicationContext-*.xml"})
//@RunWith(SpringJUnit4ClassRunner.class)
public class CustomerServiceImplTest {
//@Autowired
//private CustomerService customerService; @Test
public void test() {
Customer customer = customerService.findCustomerByID(1L);
System.out.println("********************"+customer.getCustName());
} }

      测试过后的代码一定要注释,不然打包回出现未知错误 !!!

  5.发布到本地仓库中(为web模块提供使用)

 四、对web模块进行开发

  1.创建web模块右键  "父工程">>"Maven Module">>"finish">>“选择war”>>"src\main\webapp\WEB-INF\web.xml"否则会出现红色错误

  2.导入service依赖jar包

  

  3.编写service模块的代码

  

  4.在web.xml中对ContextLoaderListener和StrutsPrepareAndExecuteFilter进行配置。配置代码如下。

  

<!-- 配置struts核心过滤器 -->
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 配置spring过滤器 --> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml</param-value>//classpath*:applicationContext-*.xml中的*是可以包括jar的
 </context-param>

  5.启动web项目进行测试。(tomcat:run)

  运行父工程和web模块都可以

    

MAVEN day04 SSH之分模块开发的更多相关文章

  1. SSH框架分模块开发

    ------------------siwuxie095 SSH 框架分模块开发 1.在 Spring 核心配置文件中配置多个内容,容易造成 配置混乱,不利于维护 「分模块开发主要针对 Spring ...

  2. Maven02——回顾、整合ssh框架、分模块开发、私服

    1 回顾 1.1 Maven的好处 节省空间 对jar包做了统一管理 依赖管理 一键构建 可跨平台 应用在大型项目可提高开发效率 1.2 Maven安装部署配置 1.3 Maven的仓库 本地仓库 远 ...

  3. java使用maven项目(二)分模块开发

    1       整合ssh框架 1.1     依赖传递 只添加了一个struts2-core依赖,发现项目中出现了很多jar, 这种情况 叫 依赖传递 1.2     依赖版本冲突的解决 1.  第 ...

  4. spring+springmvc+hibernate架构、maven分模块开发样例小项目案例

    maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准 ...

  5. ssm集成(maven)& 分模块开发--详细教程

    1 maven版本的ssm 1.1 最简单的版本步骤: (1) 创建maven web项目 (2) 在pom.xml中导入依赖的jar包 (3) 再写配置文件: web.xml <!DOCTYP ...

  6. Spring_day04--HibernateTemplate介绍_整合其他方式_Spring分模块开发

    HibernateTemplate介绍 1 HibernateTemplate对hibernate框架进行封装, 直接调用HibernateTemplate里面的方法实现功能 2 HibernateT ...

  7. Struts2_day01--Struts2的核心配置文件_常量配置_分模块开发_Action编写方式

    Struts2的核心配置文件 1 名称和位置固定的 2 在配置文件中主要三个标签 package.action.result,标签里面的属性 标签package 1 类似于代码包,区别不同的actio ...

  8. Struts2分模块开发

    -------------------siwuxie095 Struts2 分模块开发 在实际开发中,如果一个项目是团队开发的,也就是很多人开发的, 每个人都需要去修改 struts.xml,因为 s ...

  9. 七 Spring的分模块开发的配置,保存客户案例

    Spring的分模块开发的配置 加载配置文件的时候,加载多个 在一个配置文件中引入多个配置文件(常用) 保存客户案例 applicationContext.xml: <?xml version= ...

随机推荐

  1. SQL SERVER数据库删除LOG文件和清空日志的方案

    原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文 ...

  2. 关于asyncio知识(四)

    一.使用 asyncio 总结 最近在公司的一些项目中开始慢慢使用python 的asyncio, 使用的过程中也是各种踩坑,遇到的问题也不少,其中有一次是内存的问题,自己也整理了遇到的问题以及解决方 ...

  3. Atitit 分布式管理 vs 集中式管理

    Atitit 分布式管理 vs 集中式管理 1. 集中式管理缺点 1 1.1. 单点故障 1 1.2. 没有灵活性 1 1.3. 打败vs 征服 参考 尼可罗·马基雅弗利编著的<君主论> ...

  4. docker下创建crontab定时任务失败

    创建过程 基础镜像采用的centos7.2,需要安装一下crontab,在dockerfile中加以下语句就可以了: # crontab jobs RUN yum -y install crontab ...

  5. RabbitMQ内存爆出

    RabbitMQ升级到3.6.1版本后,随着业务和系统功能的增加,出现RabbitMQ内存陡增直至服务宕掉的情况.内存增加时,在management管理控制台上可以见到如下警告: The manage ...

  6. hdoj:2085

    核反应堆 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  7. Idea2018旗舰版破解方法

    完整请参考 https://www.jianshu.com/p/3c87487e7121 1.在hosts文件里添加一行: 0.0.0.0 account.jetbrains.com 2.在Activ ...

  8. 4 playlook-Jinja2 filter

    jinja2模板,不多解释,请看例子 [root@LeoDevops jinjatwo]# cat j1.yaml - hosts: u12 gather_facts: False vars: lis ...

  9. redis服务器学习一

    一:什么是redis服务器 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zs ...

  10. Kafka认证权限配置(动态添加用户)

    之前写过一篇Kafka ACL使用实战,里面演示了如何配置SASL PLAINTEXT + ACL来为Kafka集群提供认证/权限安全保障,但有一个问题经常被问到:这种方案下是否支持动态增加/移除认证 ...