intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)

需求:第三方提供了http api接口,我们需要将其数据全部取回来,存放到本地Mysql数据库。

开发工具是intelj idea,准备基于maven创建聚合项目,util作为工具包,单独作为一个工程,打包时打成jar包;

dao层依赖util,打包时也打成jar包;

service依赖dao层,打包时也是打成jar包;

controller层依赖service层,打包时打成war包。

 

1.新建root工程

File--New Project--

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第1张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第2张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第3张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第4张图片

 

 2.新建子module

在下图中,对着步骤一新建的root工程右击,新建module

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第5张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第6张图片

 

 intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第7张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第8张图片

 

 3.分别查看root工程和子工程的pom文件

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第9张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第10张图片

 

 4、新建dao 子工程,依赖common-utils

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第11张图片

 

在pom文件中,手动添加依赖:

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第12张图片

 

 

 5、新建service 子工程,依赖dao子工程

操作同第四步。

同样,我们要修改service的pom文件,手动加dao子工程的依赖进来。

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第13张图片

 

 6、新建controller工程,该工程应该为web工程,依赖service层

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第14张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第15张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第16张图片

 

完成后在pom文件中增加对service的依赖。

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第17张图片

 

7、测试工程是否正常

设想:因为clicent是web工程,pom文件中依赖service组件;于是---将service.jar拷贝到web/lib目录下

在本地maven找到service组件后,根据service的pom文件,发现其依赖dao组件;于是将dao.jar拷贝到web/lib目录下

在本地找到dao组件后,在其pom中,发现dao组件依赖common-utils组件;于是找到common-utils组件后,将common-utils.jar拷贝到lib目录下

在common-utils中新增一个工具方法,通过dao/service/controller层层调用,所以可以直接请求controller层,调用到utils的方法。

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第18张图片

 

 intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第19张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第20张图片

在client的web中新增一个servlet:

app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >


  Archetype Created Web Application
  
    Simple
    class>com.newthreeboard.SimpleServletclass>
  
  
    Simple
    /simple-servlet
  

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第21张图片

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第22张图片

 

 依次点击clean、compile、package后,会得到一个war包

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第23张图片

查看打成的解压的war包目录,其lib目录下:

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第24张图片

 

这边先直接拷贝到tomcat的web-apps下执行,看看效果:

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第25张图片

启动tomcat后,

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第26张图片

 

 在浏览器中进行调用:

http://localhost:8080/newthreeboard-client/simple-servlet

此时页面请求后一片空白,没有任何反应,因为我们没有输出东西,但是在tomcat的界面可以看到:

intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)_第27张图片

 

 至此,简单的聚合项目构建ok。

 

你可能感兴趣的:(intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service))