自定义maven依赖,封装常用工具类,供其他项目引入使用

Posted 符华-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义maven依赖,封装常用工具类,供其他项目引入使用相关的知识,希望对你有一定的参考价值。

目录

背景

有一些在各个项目经常会用到的工具类,每次做项目时都要把这些工具类复制过去,感觉有点麻烦了,就想能不能把这些工具类提取出来封装,打包成jar,要用的时候就不用每次都复制那么多工具类了,只需要拿这一个jar就行。后面发现可以把它们制作成maven依赖,这样也不用拿jar了,直接在pom.xml中引入就行。

构思

接下来我们就需要先想好哪些工具类是适合封装的?

我目前考虑到适合封装的有两点要求:通用性高;耦合度低。

1、通用性高

就是这个类在不同项目中用到,代码都差不多甚至一样,这种通用性就很高,可以考虑提取出来。

2、耦合度低

就是这个类在不同项目中用到,它的依赖性低,独立性高;如果这个类它 import 了很多不同的jar包,并且这些jar包都是需要引入maven依赖的,这种我就觉得不适合提取。就是在这个(自定义maven依赖)项目中,我们要尽可能少的引入第三方依赖。

(以上两点仅我个人看法,考虑不周或有其他补充可以在评论区评论😘)

开始

既然已经确定好哪些类适合封装了,那就开始动手吧!

创建项目

首先我们创建一个maven项目

点击finish后,我们看pom.xml

常用类提取、修改

接下来我们把常用的一些类复制到这个项目,做对应的修改。

比如我自定义的一个异常类:ExceptionVo:它一开始是这样的,用了lombok依赖。

但是我们需要尽可能减少依赖,就不引入lombok了,而是用传统的get、set方法。

或者是每个项目必用的 RedisUtil 工具类,这个类就需要引入 spring-data-redis 依赖,如下:

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>fuhua</groupId>
    <artifactId>fuhua-util</artifactId>
    <version>1.0.0</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>

        <!-- servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <!-- redis -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>2.3.0.RELEASE</version>
        </dependency>

    </dependencies>

</project>

这个它一开始是用 @Component 注解的组件,拿过来后不用这个注解,而是在使用的时候,在 @Configuration 注解的类中,手动配置 RedisUtil bean。



打包、推送到本地maven仓库

封装改完之后,我们就可以打包了。


后续我们改了这里面的代码,重新执行install命令就行。

其他项目引用

接下来我们就在其他项目中引入我们制作的依赖,来测试一下


以上是关于自定义maven依赖,封装常用工具类,供其他项目引入使用的主要内容,如果未能解决你的问题,请参考以下文章

maven使用

SpringBoot核心-自定义starter

maven

IDEA maven 缺少依赖,项目不引maven 的 jar 包 问题

Java 实现音频添加自定义时长静音(附代码) | Java工具类

springMVC+redis+redis自定义工具类 的配置