1. 建立 Java Working Set:工程多的时候可以展开收缩,方便管理

    切换到Package Explorer视图,并点击视图右侧下箭头,选择Working Sets,如下图:

  2. 建立父工程,将后续子工程公共的Jar包提出来:
    • 选择Working Set,右键New -> Maven Project:
    • 选择 Create a simple project,点击下一步

    • 创建父工程,父工程名称:thrcloud,Packaging:选择pom

    • 父工程建立完成,修改pom.xml文件:

      pom.xml文件内容如下,springcloud和springboot的版本可以选择比较新的版本对应关系,我这里比较旧:

      <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">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.thr.springcloud</groupId>
      <artifactId>thrcloud</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>pom</packaging> <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <junit.version>4.12</junit.version>
      <log4j.version>1.2.17</log4j.version>
      <lombok.version>1.18.4</lombok.version>
      </properties> <dependencyManagement>
      <dependencies>
      <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>Dalston.SR1</version>
      <type>pom</type>
      <scope>import</scope>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>1.5.9.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
      </dependency>
      <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.14</version>
      </dependency>
      <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.31</version>
      </dependency>
      <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.0</version>
      </dependency>
      <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>1.2.3</version>
      </dependency>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
      </dependency>
      </dependencies>
      </dependencyManagement> </project>
  3. 建立公共子模块 thrcloud-api:

    • 鼠标右键 thrcloud -> New -> Other

    • 选择 Maven Module

    • 创建了如下子模块工程 thrcloud-api,同时 thrcloud父工程的pom.xml文件也有所变化:
    • 修改 thrcloud-api工程的pom.xml文件,pom.xml内容如下:
      <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">
      <modelVersion>4.0.0</modelVersion> <parent> <!-- 子类里面显示申明才能有明确的继承表现,无意外就是父类的默认版本,否则自己定义 -->
      <groupId>com.thr.springcloud</groupId>
      <artifactId>thrcloud</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      </parent> <artifactId>thrcloud-api</artifactId> <!-- 当前Module我自己叫什么名字 --> <dependencies><!-- 当前Module需要用到的jar包,按自己需求添加,如果父类已经包含了,可以不用写版本号 -->
      <!-- 用作自动隐式生成Entity的构造函数、get set方法、链式访问风格 -->
      <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      </dependency>
      </dependencies>
      </project>
  4. 建立服务提供者模块 thrcloud-provider-user-8001 用户为服务提供者 Module
    • 选中 thrcloud 右键 -> New -> Maven Module ,如下图:
    • thrcloud-provider-user-8001工程如下图:
    • 修改 pom.xml文件,内容如下:

      <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">
      <modelVersion>4.0.0</modelVersion>
      <parent>
      <groupId>com.thr.springcloud</groupId>
      <artifactId>thrcloud</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      </parent> <artifactId>thrcloud-provider-user-8001</artifactId> <dependencies>
      <dependency><!-- 引入自己定义的api通用包,可以使用Dept部门Entity -->
      <groupId>com.thr.springcloud</groupId>
      <artifactId>thrcloud-api</artifactId>
      <version>${project.version}</version>
      </dependency>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      </dependency>
      <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      </dependency>
      <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      </dependency>
      <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      </dependency>
      <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jetty</artifactId>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      </dependency>
      <!-- 修改后立即生效,热部署 -->
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>springloaded</artifactId>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      </dependency>
      </dependencies> </project>
    • 手动建立主启动类 UserProvider8001_App.java,如下图:

      到此完成!

springcloud工程建立 父工程+公用子模块+微服务提供模块的更多相关文章

  1. 【spring cloud】子模块module -->导入一个新的spring boot项目作为spring cloud的一个子模块微服务,怎么做/或者 每次导入一个新的spring boot项目,IDEA不识别子module,启动类无法启动/右下角没有蓝色图标

    如题:导入一个新的spring boot项目作为spring cloud的一个子模块微服务,怎么做 或者说每次导入一个新的spring boot项目,IDEA不识别,启动类无法启动,怎么解决 下面分别 ...

  2. SpringCloud学习笔记(二):微服务概述、微服务和微服务架构、微服务优缺点、微服务技术栈有哪些、SpringCloud是什么

    从技术维度理解: 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底 地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事, 从技术角度看就是一种小而独立的处理过程,类 ...

  3. linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等

    Buoyant是一家云服务公司,宣布了Linkerd(发音为“linker-DEE”)的一周年纪念日,这是一个基于微服务的原生云应用程序的开源“服务网格”项目.诚如公告所述: 在20世纪90年代,TC ...

  4. SpringCloud创建项目父工程

    1.说明 本文详解介绍Spring Cloud项目的父工程创建, 由于Spring Cloud项目下有很多模块组件, 需要先创建一个大的父工程项目, 然后在下面创建各个子工程模块. 2.创建父工程 这 ...

  5. Springboot分模块开发详解(1):建立父工程

    基础服务,见下: base是父工程,base-entity是实体层,base-dao是DAO层,base-service是业务层,base-controller是WEB控制器层,base-web是页面 ...

  6. android依赖工程,子工程覆盖父工程的相同属性

    当业务复杂,开始拆分工程后,就会遇到如下问题: 工程A为lib父工程, 工程B为子工程.  两个工程中均有资源文件(比如strings.xml),且资源文件中有相同的key, 那么值到底使用谁的? 实 ...

  7. SpringCloud学习笔记(1)----认识微服务与SpringCloud

    1.  微服务是什么? 微服务是一种由多个服务组成的集合体,它属于一种软甲架构,在微服务中,它的每个服务都是独立存在的,微服务是一种去中心化的思想. 它具有开发简单,技术栈灵活,服务独立解耦,可用性高 ...

  8. 利用 Maven 构造 Spring Cloud 微服务架构 模块使用 spring Boot构建

    采用Maven 聚合工程搭建 Spring Cloud 使用工具: IntelliJ IDEA    版本: 2019.2.2 maven             版本: 3.6.0 JDK      ...

  9. SpringCloud学习笔记(三):Rest微服务构建案例工程模块

    需要具备的知识 1 springmvc+mybatis+mysql 2 Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务 3 Maven的分包分模 ...

随机推荐

  1. 【Spring】基于@Aspect的AOP配置

    Spring AOP面向切面编程,可以用来配置事务.做日志.权限验证.在用户请求时做一些处理等等.用@Aspect做一个切面,就可以直接实现. ·   本例演示一个基于@Aspect的小demo 1. ...

  2. 【Mybatis】MyBatis之插件开发(十)

    MyBatis插件开发原理 MyBatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变MyBatis的默认行为(诸如SQL重写之类的),由于插件会深入到MyBatis的核心 ...

  3. LeetCode_383. Ransom Note

    383. Ransom Note Easy Given an arbitrary ransom note string and another string containing letters fr ...

  4. array_map

    <?php //对数组中的每个元素做函数处理 $arr = array(,,,,,); function cheng($hah){ ; } var_dump(array_map('cheng', ...

  5. 原生Js页面滚动延迟加载图片

    原理和过程1.页面滚动加载事件2.获取元素在页面里的top值 根据滚动条的位置 判断何时显示图片3.获取元素集合 加载过的图片从集合里删除 效果预览:http://jsfiddle.net/dtdxr ...

  6. SpringBoot学习笔记:自定义拦截器

    SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送 ...

  7. windows环境下安装: VMware 15 + centos 7

    第一步: 下载 centos7  http://isoredirect.centos.org/centos/7/isos/x86_64/ 选择阿里云镜像下载,速度最快 注意: 尽量使用下载工具下载, ...

  8. List<E>

    List<E>——列表 有序,存储和读取的顺序是一致的 由整数索引 允许重复 add(int index,E element)——将元素插入指定位置 get(int index)——获取指 ...

  9. qt qml Treeview使用记录--设置每个Item的图片logo,高度

    这篇帮助很大: https://blog.csdn.net/qq_32116695/article/details/81298585, 代码如下: TreeView { id: viewTree an ...

  10. Dockerfile指令的使用

    关于Dockerfile Dockerfile实际上就是一系列创建Docker镜像的脚本, 虽然可以通过命令行来执行, 但是那样繁琐而且容易出错. Dockerfile指令 FROM 他的意思是在创建 ...