zoukankan      html  css  js  c++  java
  • SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构(上)

    在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。多module有一个父maven工程,多个子工程。在多个子工程中,可能有一个web工程,也可能有多个web工程。这样的好处在于大大解耦各个module之间的关系, 我们可以把service的module打成jar包,提供给其他项目使用。

    vproject和module区别与关系

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    图片来源于网络,侵删。

    • IntelliJ系中的Project相当于Eclipse系中的Workspace
    • IntelliJ系中的Module相当于Eclipse系中的Project
    • IntelliJ中一个Project可以包括多个Module
    • Eclipse中一个Workspace可以包括多个Project
    • PhpStorm中似乎在弱化Module的存在,把File菜单下的New Module菜单项目直接删除了

    v创建project和module

    1.0 架构图一览

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    如上图,其中hellolearn是project,learn-model等是子module...

    2.0 创建步骤

    2.1 创建project

    创建springboot project常用的方法有两种。

    • 方法一:可以使用官网https://start.spring.io/生成spring boot的模板, 具体的可以移步《SpringBoot入门教程(一)详解intellij idea搭建SpringBoot
    • 方法二:也可以在idea中,单击file》new》project。创建project我使用的是方法一,方法二就不多讲了。注意在创建project的时候不要选择Create from archetype复选框创建空模板就行。

    2.2 创建module(learn-model)

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    选中hellolearn,右键new->module创建子集。

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    注意,不要勾选 Create from archetype 点击next

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    输入artifactId

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    输入module name,并点击完成。

    2.3 创建module(learn-service)

    按照创建learn-model同样的方法,创建learn-service。

    在learn-service module的pom.xml(项目对象模型)文件中,添加打包方式声明。 jar , 添加以后再用maven打包的时候,就会把learn-service打成jar包。

    需要注意的是,在learn-service中,我们会需要依赖learn-model的某些属性,所以还需在pom.xml文件中添加依赖关系。

    learn-service详细配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>hellolearn</artifactId>
        <groupId>com.test</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    
    <artifactId>learn-service</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.test</groupId>
            <artifactId>learn-model</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.test</groupId>
            <artifactId>learn-persist</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
    </project>

    2.4 创建module(learn-web)

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    继续按照以上方式创建learn-web,稍微注意一下这里需要勾选 Create from archetype 。为learn-web添加依赖,可以按照learn-service添加依赖的方式直接编辑pom.xml,也可以通过Project Structure设置。打开Project Structure(快捷键Ctrl+Alt+Shift+S)添加,具体步骤如下:

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    注意:为了在下篇博客中更详细的介绍搭建接口项目,我这里还是没有勾选 Create from archetype 。这个看自己需求哈。

    SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

    选择需要添加依赖的module,然后点击OK。

    v博客总结

    到目前为止,按照以上步骤就可以在project在创建多个module了,另外如果我们需要添加其他外部的jar引用,在hellolearn中的pom.xml中添加依赖即可。子module不用重复添加。

    v源码地址

    https://github.com/toutouge/javademosecond/tree/master/hellolearn


    作  者:请叫我头头哥
    出  处:http://www.cnblogs.com/toutou/
    关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    简单区分Vmware的三种网络连接模式(bridged、NAT、host-only)
    linux创建账户并自动生成主目录和主目录下的文件
    EF 通用数据层类
    html在线美化网站
    图片在页面中居中显示
    __dopostback的用法
    rdlc报表集锦
    .NET开源免费的功能强大控件库
    使用webclient上传下载实例
    消息队列将并发变串行
  • 原文地址:https://www.cnblogs.com/toutou/p/project_module.html
Copyright © 2011-2022 走看看