首页 > 技术文章 > 创建一个commons公共服务

64Byte 2020-07-11 11:35 原文

  在微服务体系中,后端微服务经常会存在多个项目,但这些项目中往往会有很多公共的配置和工具等,

这时候我们就需要一个common项目同时为多个后端项目服务,这样可以减少许多重复代码和重复配置后端项目的时间。

1、新建SpringBoot  jar项目,取名为commons

2、将公共的类、依赖、配置存放于这个项目

3、修改pom.xml配置文件

  commons继承 house-parent  继承springboot

<parent>
    <groupId>com.zl.house</groupId>
    <artifactId>house-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../house-parent/pom.xml</relativePath>
</parent>
<artifactId>houseCloud-commons</artifactId>
<name>houseCloud-commons</name>
<description>Demo project for Spring Boot</description>

在pom.xml文件中可以添加大量共有的依赖

比如: 等。。。

<!--添加的druid的连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.3</version>
</dependency>
<!-- mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>

需注意,要删除掉springboot项目中原来用于build jar的插件配置,该插件是用来构建正常的springboot项目的可运行jar包,

而我们不需要构建可运行jar,因此需要删掉下面的配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

4、删除CommonApplication.java、test目录和resources下的application.properties

  (只删除测也可以试类中的方法,因为测试类中的注解会默认自动执行SpringBoot)

因为我们不需要其运行,我们只需要其静态代码,因此这些文件都可以且需要被删除。

5、 打包项目

需要将 house-parent 父包 maven的pom文件执行 mvn install 安装到本地仓库

再将本commons项目执行 mvn install 安装到本地仓库

即可供本电脑上的项目使用。

6、其他服务调用commons中的数据、参数

//在其pom.xml 文件中
<!-- 添加houseCloud-commons依赖 -->
<dependency>
    <groupId>${project.groupId}</groupId> // 因为继承的父类可以直接获取
    <artifactId>houseCloud-commons</artifactId> //或者直接输入commons的gav
 <version>${project.version}</version> </dependency>

 

推荐阅读