一、创建父工程

  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. POSTMAN模拟AJAX请求

    环境: 1.测试工具:POSTMAN 2.调试框架:THINKPHP 3.开发工具:PHPSTORM 需求: 1.判断HTTP提交过来的请求是否为AJAX: 是:进行,修改.新增 否:进行查询,并返回 ...

  2. SLAM的前世今生

    SLAM技术已经蓬勃发展起来,这里综述性地介绍下SLAM的主体知识.SLAM的主体技术不多,难点在于细节.来源是:技术分享.ppt 前世 人类惆怅近千年的问题不是:我是谁,我要做什么,我要去哪里!而是 ...

  3. halcon之NCC匹配

    NCC匹配 基于Normalized cross correlation(NCC)用来比较两幅图像的相似程度已经是一个常见的图像处理手段.在工业生产环节检测.监控领域对对象检测与识别均有应用.NCC算 ...

  4. flume的安装部署

    系统环境:centos7.5  64位系统 1.下载安装包 官网下载离线安装包:apache-flume-1.8.0-bin.tar.gz 也可以使用linux命令下载: wget -c http:/ ...

  5. Sword 内核队列二

    #ifndef __GTC_FIFO_H_ #define __GTC_FIFO_H_ #ifndef GTC_MAX #define GTC_MAX(a,b) ((a) > (b) ? (a) ...

  6. C#.net mysql There is already an open datareader associated with this command引发的问题

    [参考]There is already an open datareader associated with this command引发的问题 我在语句中并未使用 DataReader,未何也提示 ...

  7. javassist实例

    我们常用到的动态特性主要是反射,在运行时查找对象属性.方法,修改作用域,通过方法名称调用方法等.在线的应用不会频繁使用反射,因为反射的性能开销较大.其实还有一种和反射一样强大的特性,但是开销却很低,它 ...

  8. u3d内嵌H5游戏 设置cookie

    Intent intent1 = getIntent(); Log.d("SS", "onCreate: "); String data = intent1.g ...

  9. store.state

    https://blog.csdn.net/qq_38658567/article/details/82847758

  10. MySQL加密解密

    1. 加密:mysql323,不可逆 select old_password('bbs.antian365.com'); # 10c886615b135b38 2. 加密:mysqlsha1,不可逆 ...