1.spring-cloud-dependencies


            <!-- SpringCloud 微服务 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

<spring-cloud.version>2021.0.5</spring-cloud.version>

作用: spring-cloud-dependencies是一个依赖管理器的pom文件 ,从而统一各种jar的版本号,避免了版本不一致而出现的问题。所以,引入其他的依赖就可以省略版本号。当然也可以加上指定的版本号,从而取代默认的

1.1spring-boot-starter-parent

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/>
    </parent>

作用:它的作用就是管理boot需要的所有依赖,从而统一各种jar的版本号,避免了版本不一致而出现的问题。所以,引入其他的依赖就可以省略版本号。当然也可以加上指定的版本号,从而取代默认的

相同点: spring-cloud-dependencies和spring-boot-starter-parent他们两作用是相同的,都是一个依赖管理器的pom文件

不同点: spring-cloud-dependencies是对cloud的依赖管理。如:spring-cloud-starter-config、spring-cloud-starter-netflix-eureka-server 等等....

3.spring-cloud-alibaba-dependencies

    <!-- SpringCloud Alibaba 微服务 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

 <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>

作用: 导入spring-cloud-alibaba这个组件并规定版本信息

4.spring-boot-dependencies

     <!-- SpringBoot 依赖配置 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

  <spring-boot.version>2.7.7</spring-boot.version>

5.spring-boot-dependencies 模块介绍

在 pom 文件中,加入一个新的依赖,往往不需要引入相应的版本号(如下代码块所示),就可以正常引入依赖,这其实是因为我们依赖了 spring-boot-starter-parent 模块的缘故

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <!--   在这里指定了 spring boot 的版本     -->
    <version>2.7.2</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <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>
        <scope>test</scope>
    </dependency>
</dependencies>

点 spring-boot-dependencies 进去查看源文件会发现,它在管理着相关依赖的版本。在 dependencyManagement 进行依赖管理,在 pluginManagement 中进行插件管理

6.fastdfs-client

     <!-- FastDFS 分布式文件系统 -->
            <dependency>
                <groupId>com.github.tobato</groupId>
                <artifactId>fastdfs-client</artifactId>
                <version>${tobato.version}</version>
            </dependency>

作用: 给框架提供相关上传和下载的一些方法

相关操作,参考这里

7.swagger-models和swagger-annotations

<!-- Swagger 依赖配置 -->
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-models</artifactId>
                <version>${swagger.core.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.core.version}</version>
            </dependency>

作用: swagger是一个接口文档神器 创建接口的东西

简介: Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务

swagger的优势:

支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。

提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。

官网: https://swagger.io/ 使用教程参考: 点击

8. kaptcha

            <!-- 验证码 -->
            <dependency>
                <groupId>pro.fessional</groupId>
                <artifactId>kaptcha</artifactId>
                <version>${kaptcha.version}</version>
            </dependency>

作用: 用来生成图片验证码

官网: 点击

springboot集成kaptcha: 点击 springcloud集成kaptcha: 点击

9.pagehelper-spring-boot-starter

       <!-- pagehelper 分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper.boot.version}</version>
            </dependency>

作用: 是同来进行分页操作的插件

官方文档: 点击

它的原理: 点击

10.commons-io

            <!-- io常用工具类 -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons.io.version}</version>
            </dependency>

作用: commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率。 commons-io工具包提供了很多有关io操作的类。有两个主要的类FileUtils, IOUtils

commons-io官网:点击

简介:

Commons IO是针对开发IO流功能的工具类库。

主要包括六个区域:

工具类——使用静态方法执行共同任务

输入——用于InputStream和Reader实现

输出——用于OutputStream和Writer实现

过滤器——各种文件过滤器实现

比较器——各种文件的java.util.Comparator实现

文件监听器——监听文件系统事件的组件

10.1有两个常用的工具类

10.1.1 IOUtis

IOUtils包含处理读、写和复制的工具方法。方法对InputStream、OutputStream、Reader和Writer起作用。

InputStream in = new URL( "http://commons.apache.org"   ).openStream();try {InputStreamReader inR = new InputStreamReader( in );BufferedReader buf = new BufferedReader( inR );String line;while ( ( line = buf.readLine() ) != null ) {System.out.println( line );}} finally {in.close();}

使用IOUtis

InputStream in = new URL( "http://commons.apache.org" ).openStream();try {System.out.println(IOUtils.toString(in));} finally {IOUtils.closeQuietly(in);}

10.1.2 FileUtils

FileUtils类包含使用File对象的工具方法。包括读写、复制和比较稳健。

读取整个文件行:

File file = new File("/commons/io/project.properties");List lines = FileUtils.readLines(file, "UTF-8");

10.1.3 FilenameUtils

FilenameUtils.concat(String basePath, String fullFilenameToAdd) // 合并目录和文件名为文件全路径

FilenameUtils.getBaseName(String filename) // 去除目录和后缀后的文件名

FilenameUtils.getExtension(String filename) // 获取文件的后缀

FilenameUtils.getFullPath(String filename) // 获取文件的目录

FilenameUtils.getName(String filename) // 获取文件名

FilenameUtils.getPath(String filename) // 去除盘符后的路径

FilenameUtils.getPrefix(String filename) // 盘符

FilenameUtils.indexOfExtension(String filename) // 获取最后一个.的位置

FilenameUtils.indexOfLastSeparator(String filename) // 获取最后一个/的位置

FilenameUtils.normalize(String filename) // 获取当前系统格式化路径

FilenameUtils.removeExtension(String filename) // 移除文件的扩展名

FilenameUtils.separatorsToSystem(String path) // 转换分隔符为当前系统分隔符

FilenameUtils.separatorsToUnix(String path) // 转换分隔符为linux系统分隔符

FilenameUtils.separatorsToWindows(String path) // 转换分隔符为windows系统分隔符

FilenameUtils.equals(String filename1, String filename2) // 判断文件路径是否相同,非格式化

FilenameUtils.equalsNormalized(String filename1, String filename2) // 判断文件路径是否相同,格式化

FilenameUtils.directoryContains(String canonicalParent, String canonicalChild) // 判断目录下是否包含指定文件或目录

FilenameUtils.isExtension(String filename, String extension) // 判断文件扩展名是否包含在指定集合(数组、字符串)中

FilenameUtils.wildcardMatch(String filename, String wildcardMatcher) // 判断文件扩展名是否和指定规则匹配

FileSystemUtils的使用:
// 仅有这一个方法,及其重载方法

FileSystemUtils.freeSpaceKb() throws IOException

//推荐使用

java.nio.file.FileStore.getUsableSpace()

10.1.4 FileSystemUtils

提供一些工厂方法用于生成各类文件过滤器

提供一些静态方法用于对指定的File集合进行过滤

FileFilterUtils.ageFileFilter(Date cutoffDate)

FileFilterUtils.and(IOFileFilter... filters)

FileFilterUtils.asFileFilter(FileFilter filter)

FileFilterUtils.directoryFileFilter()

FileFilterUtils.falseFileFilter()

FileFilterUtils.fileFileFilter()

FileFilterUtils.filter(IOFileFilter filter, File... files)

FileFilterUtils.filterList(IOFileFilter filter, File... files)

FileFilterUtils.filterSet(IOFileFilter filter, File... files)

FileFilterUtils.nameFileFilter(String name)

FileFilterUtils.notFileFilter(IOFileFilter filter)

FileFilterUtils.or(IOFileFilter... filters)

FileFilterUtils.prefixFileFilter(String prefix)

FileFilterUtils.sizeFileFilter(long threshold)

FileFilterUtils.suffixFileFilter(String suffix)

FileFilterUtils.trueFileFilter()

具体的实现: 参考这里 点击

11. poi-ooxml

            <!-- excel工具 -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi.version}</version>
            </dependency>

作用: 导入和导出功能

具体的参考文档: 点击

12. velocity-engine-core

       <!-- 代码生成使用模板 -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>${velocity.version}</version>
            </dependency>

作用: 它是一个模版引擎,代码生成时要用到

具体的操作: 点击

13. fastjson2

       <!-- JSON 解析器和生成器 -->
            <dependency>
                <groupId>com.alibaba.fastjson2</groupId>
                <artifactId>fastjson2</artifactId>
                <version>${fastjson.version}</version>
            </dependency>

介绍: fastjson2 是 FASTJSON 项目的重要升级,目标是为下一个十年提供一个高性能的JSON库, fastjson2 性能相比原先旧的 fastjson 有了很大提升,并且 fastjson2 更安全,完全删除autoType白名单,提升了安全性。

操作文档参考: 点击

14. jjwt

     <!-- JWT -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${jjwt.version}</version>
            </dependency>

JJWT开源地址

简介: JJWT旨在成为最易于使用和理解的库,用于在JVM和Android上创建和验证JSON Web令牌(JWT)

操作文档参考: 点击

15 .transmittable-thread-local

            <!-- 线程传递值 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>transmittable-thread-local</artifactId>
                <version>${transmittable-thread-local.version}</version>
            </dependency>

简介: TransmittableThreadLocal 是Alibaba开源的、用于解决 “在使用线程池等会缓存线程的组件情况下传递ThreadLocal” 问题的 InheritableThreadLocal 扩展。若希望 TransmittableThreadLocal 在线程池与主线程间传递,需配合 TtlRunnableTtlCallable 使用。

参考文档: 点击

16. ruoyi-common-core

            <!-- 核心模块 -->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>ruoyi-common-core</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>

作用:

若依微服务版成功搭建并运行后,在需要引入一个公共的jar包依赖时,只要将依赖的坐标在ruoyi-common-core中的pom.xml中添加后,就可以在其他模块下引用

参考文档: 点击

17.ruoyi-common-swagger

            <!-- 接口模块 -->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>ruoyi-common-swagger</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>

作用: swagger是用来做接口文档来操作的

参考文档: 点击

今天就先总结到这里

Logo

快速构建 Web 应用程序

更多推荐