项目常用Maven仓库依赖总结

一 Maven仓库官网

https://mvnrepository.com/

二 常用依赖说明

1 对Web项目的开发支持,包含Tomcat和Spring MVC


    org.springframework.boot
    spring-boot-starter-web

2 Java的测试框架


    junit
    junit
    4.11
    test

3 自动化配置,体系了约定由于配置


    org.springframework.boot
    spring-boot-autoconfigure

参考: https://blog.csdn.net/song_java/article/details/86509971

4 使用Jetty作为Servlet容器替换Tomcat



   org.springframework.boot
   spring-boot-starter-web
   
      
         spring-boot-starter-tomcat
         org.springframework.boot
      
   



   org.springframework.boot
   spring-boot-starter-Jetty

5 使用Undertow作为Servlet容器替换Tomcat


   org.springframework.boot
   spring-boot-starter-web
   
      
         spring-boot-starter-tomcat
         org.springframework.boot
      
   



   org.springframework.boot
   spring-boot-starter-undertow


   io.undertow
   undertow-servlet

6 对thymeleaf模板引擎的支持,包含于Spring整合的配置


    org.springframework.boot
    spring-boot-starter-thymeleaf

7 对Spring-security的支持


    org.springframework.boot
    spring-boot-starter-security

8 mysql数据库驱动依赖


    mysql
    mysql-connector-java
    5.1.36

9 Spring Data JPA是Spring Data的一个子项目,它通过提供基于JPA的Repository极大较少了JPA作为数据访问方案的代码量。


    org.springframework.boot
    spring-boot-starter-data-jpa

10 默认的logging,Spring Boot自动使用logback作为日志框架


    org.springframework.boot
    spring-boot-starter-logging

11 使用log4j作为日志框架


    org.springframework.boot
    spring-boot-starter-log4j

12 使用log4j2作为日志框架


    org.springframework.boot
    spring-boot-starter-log4j2

13 添加servlet依赖


   javax.servlet
   javax.servlet-api
   provided

参考: https://blog.csdn.net/qq_35503998/article/details/79880348

14 添加 tomcat 的支持


   org.springframework.boot
   spring-boot-starter-tomcat
   provided

15 Jasper是tomcat中使用的JSP引擎,运用tomcat-embed-jasper可以将项目与tomcat分开 


   org.apache.tomcat.embed
   tomcat-embed-jasper
   provided

16 Apache Commons FileUpload组件依赖,因为不属于Spring Boot,需要加版本号


   commons-fileupload
   commons-fileupload
   1.3.3

17 spring-boot-devtools是一个为开发者服务的模块,其中最重要的功能就是自动实现把更新的应用代码更改到最新的APP上。


   org.springframework.boot
   spring-boot-devtools
   true
   true

18 对JDBC依赖


   org.springframework.boot
   spring-boot-starter-jdbc

19 添加MyBatis依赖 


   org.mybatis.spring.boot
   mybatis-spring-boot-starter
   1.3.1

20 添加spring aop依赖


    org.springframework.boot
    spring-boot-starter-aop

21 spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor


   org.springframework.boot
   spring-boot-configuration-processor
   true

参考: https://blog.csdn.net/yuhan_0590/article/details/85100246

22 引入 freemarker 模板依赖 


   org.springframework.boot
   spring-boot-starter-freemarker

23 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,据说是目前最好的连接池。


   com.alibaba
   druid
   1.1.0

参考: https://www.jianshu.com/p/01a96c31ca59

24 在使用spring-boot mybatis操作数据库的时候,使用通用Mapper可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。通用Mapper提供了默认的操作数据库增删改查的功能,如果你的操作很复杂,还可以自己构建动态sql,实现自己的通用Mapper功能等


    tk.mybatis
    mapper-spring-boot-starter
    1.2.4

参考: https://my.oschina.net/tongjh/blog/1604106

25 分页插件 


    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.3

参考: https://blog.csdn.net/xiaojin21cen/article/details/89519004

26 Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。DruidDataSource支持的数据库:理论上说,支持所有有jdbc驱动的数据库。最近发现Druid在springboot框架下有更加好用的Druid Spring Boot Starter,可以省去原本写Druid的一些配置文件或者@Configuration来配置,直接将配置写在application.yml里,看起来更简单一些。


   com.alibaba
   druid-spring-boot-starter
   1.1.9

参考: https://blog.csdn.net/weixin_38187317/article/details/81562571

27  自动生成代码


   org.mybatis.generator
   mybatis-generator-core
   1.3.2
   compile
   true

参考: https://www.cnblogs.com/black-spike/p/7872941.html

28 redis依赖


   org.springframework.boot
   spring-boot-starter-data-redis

29 单元测试


    org.springframework.boot
    spring-boot-starter-test
    test

参考: https://www.jianshu.com/p/bbc2eae392df

30 Eureka客户端依赖


   
      org.springframework.cloud
      spring-cloud-starter-netflix-eureka-client
   

31 Eureka服务端依赖


   
      org.springframework.cloud
      spring-cloud-starter-netflix-eureka-server
   

32 监控系统健康情况的工具


   org.springframework.boot
   spring-boot-starter-actuator

参考: https://www.jianshu.com/p/481134c3fab7

33 Spring Cloud 配置中心服务端依赖


    
        org.springframework.cloud
        spring-cloud-config-server
    

参考: https://blog.csdn.net/weixin_43430036/article/details/83900070

34 Spring Cloud配置中客户端依赖


    org.springframework.cloud
    spring-cloud-starter-config

参考: https://blog.csdn.net/weixin_43430036/article/details/83900070

35 添加 JSTL(JSP Standard Tag Library,JSP标准标签库)


   javax.servlet
   javax.servlet-api
   provided

参考: https://blog.csdn.net/qq_35503998/article/details/79880348

36 Spring Cloud网关依赖


    org.springframework.cloud
    spring-cloud-starter-netflix-zuul

37 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。


    org.apache.httpcomponents
    httpclient
    4.5.5

参考: https://blog.csdn.net/justry_deng/article/details/81042379

38  OpenFign是Netflix的一个声明性HTTP客户端,它简化了我们与其他服务交互的方式。当我们决定由于众多原因分解我们的模块时,我们必须寻找一种方法来处理我们的进程间通信。


    org.springframework.cloud
    spring-cloud-starter-openfeign

参考  https://www.jdon.com/50638

39 使用Apache HttpClient替换Feign原生httpclient 


    org.apache.httpcomponents
    httpclient


    com.netflix.feign
    feign-httpclient
    8.17.0

https://blog.csdn.net/yang920106/article/details/79103867/

40 okhttp是一款很棒的http客户端


    io.github.openfeign
    feign-okhttp

参考: https://blog.csdn.net/u010277958/article/details/88730889

41 feign的文件上传依赖


    io.github.openfeign.form
    feign-form
    3.0.3


    io.github.openfeign.form
    feign-form-spring
    3.0.3

42 swagger是一个方便后端编写接口文档的开源项目,并提供界面化测试。


    io.springfox
    springfox-swagger2
    2.5.0


    io.springfox
    springfox-swagger-ui
    2.5.0

参考: https://www.jianshu.com/p/406e9d203300

43 venus-cloud-starter-feign是对feign的增强


    cn.springcloud.feign
    venus-cloud-starter-feign
    1.0.0

44 ribbon实现了客户端侧的负载均衡


   org.springframework.cloud
   spring-cloud-starter-netflix-ribbon

45 hystrix实现微服务容错


   org.springframework.cloud
   spring-cloud-starter-netflix-hystrix

46 使用Hystrix Dashboard可视化监控数据


   org.springframework.cloud
   spring-cloud-starter-netflix-hystrix-dashboard

47 Turbine是用聚合所有相关的hystrix.stream流的方案,然后在Hystrix Dashboard中显示。


   org.springframework.cloud
   spring-cloud-starter-netflix-turbine

48 Spring Cloud提供的分布式跟踪解决方案


   org.springframework.cloud
   spring-cloud-sleuth-core

49 Spring Cloud Consul 项目是 Spring Cloud 针对 Consul 服务治理的实现。提供了服务发现(可替代Eureka)和配置管理(可替代Spring Cloud Config)的功能。



    org.springframework.cloud
    spring-cloud-starter-consul-discovery

参考: https://blog.csdn.net/valada/article/details/80878737

https://blog.csdn.net/mn960mn/article/details/51775212

50 spring CloudBus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。


    org.springframework.cloud
    spring-cloud-starter-bus-amqp

参考: https://www.jianshu.com/p/821efcf0932c

51 Spring Cloud Sleuth为Spring Cloud提供的分布式跟踪解决方案


    org.springframework.cloud
    spring-cloud-starter-sleuth

参考: https://blog.csdn.net/qq_25112523/article/details/82190941

52 微服务整合Zipkin


    org.springframework.cloud
    spring-cloud-starter-zipkin

参考: https://www.jianshu.com/p/912c5bf23adf

53 Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。


    org.projectlombok
    lombok

参考: https://blog.csdn.net/ThinkWon/article/details/101392808

54 将每个微服务的日志都用logstash收集到一个文件out中,那以后只要输出这个文件则可查看所有的日志



    net.logstash.logback
    logstash-logback-encoder
    ${logstash.version}

参考: https://www.cnblogs.com/peterpoker/p/9573720.html

55 用于在 JVM 上支持 Groovy 脚本语言 的 jar 包。groovy-all 是集合了所有模块的包,文件比较大,从 2.0 版本以后开始支持分模块包。

  
      org.codehaus.groovy  
      groovy-all  
      2.5.0-beta-2  

参考: https://www.w3cschool.cn/groovy/groovy_overview.html

56 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。OAuth主要用户第三方授权,例如在一些网站,我们可以直接用微信、微博账号直接登录,其网站使用的就是OAuth标准。


   org.springframework.cloud
   spring-cloud-starter-oauth2

参考: https://www.cnblogs.com/yueshutong/p/10272528.html

57 Spring Cloud Zuul通过zuul-ratelimit实现限流


   com.marcosbarbero.cloud
   spring-cloud-zuul-ratelimit
   2.0.6.RELEASE

参考:https://blog.csdn.net/yongshenghuang/article/details/91577587

58 一种目前非常流行的客户端


   com.squareup.okhttp3
   okhttp

参考: https://www.jianshu.com/p/10382cc71127

59 给spring应用提供了声明式的重试支持。

  
    org.springframework.retry  
    spring-retry  

参考: https://www.jianshu.com/p/58e753ca0151

60 fastjson是阿里巴巴开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。


    com.alibaba
    fastjson
    1.2.31

参考: https://blog.csdn.net/srj1095530512/article/details/82529759

61 spring cloud config的客户端依赖


    org.springframework.cloud
    spring-cloud-config-client

62 用于对接git的webhooks,用于触发刷新服务配置。


    org.springframework.cloud
    spring-cloud-config-monitor

参考: https://www.cnblogs.com/DavidCQ/p/10614904.html

63 Spring-cloud的孵化器项目,添加了对MongoDB的支持


    org.springframework.cloud
    spring-cloud-config-server-mongodb
    0.0.2.BUILD-SNAPSHOT

64 官网说commons-lang3主要目的是提供更多的工具类,其实也就是方便我们的开发


    org.apache.commons
    commons-lang3
    ${commons-lang3.version}

参考: https://www.jianshu.com/p/e26b6b5abd58

65 Apache提供的Collections4组件提供的一些特殊数据结构


    org.apache.commons
    commons-collections4
    ${commons-collections4.version}

参考: https://blog.csdn.net/f641385712/article/details/84109098

66 关于IO操作的工具类库


    commons-io
    commons-io
    ${commons-io.version}

参考: https://blog.csdn.net/wangyanming123/article/details/80217747

67 commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包。使用commons-beanutils,我们可以很方便的对bean对象的属性进行操作。


    commons-beanutils
    commons-beanutils
    ${commons-beanutils.version}

参考: https://blog.csdn.net/qq_36838191/article/details/81297113

68 一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件: 1. 布隆过滤 2. 缓存 3. 数据库ORM(基于ActiveRecord思想)4. HTTP客户端 5. IO 6. JSON 7. 日志 8. System(JVM和系统信息等) 9. Setting(一种扩展Properties的配置文件)


    cn.hutool
    hutool-all
    ${hutool.version}

参考: https://gitee.com/brucetie/hutool  和   https://www.hutool.cn/

69 spring boot 在SpringMVC中使用Jackson并格式化时间


    com.fasterxml.jackson.module
    jackson-module-parameter-names


    com.fasterxml.jackson.datatype
    jackson-datatype-jdk8


    com.fasterxml.jackson.datatype
    jackson-datatype-jsr310

参考: https://www.cnblogs.com/liwc/p/9621435.html

70 对excel的导入和导出操作


    org.apache.poi
    poi
    ${poi.version}


    org.apache.poi
    poi-ooxml
    ${poi.version}


    org.apache.poi
    poi-ooxml-schemas
    ${poi.version}

参考: https://blog.csdn.net/weixin_39106137/article/details/83903653

71 XMLBeans是一个XML-Java绑定工具,利用它可以很方便地解析XML文档。


    org.apache.xmlbeans
    xmlbeans
    ${xmlbeans.version}

参考: https://www.oschina.net/p/xmlbeans

72 在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用。


    org.hibernate
    hibernate-validator
    ${hibernate-validator.version}

参考: https://www.oschina.net/p/hibernate-validator

73 Jasypt Spring Boot 为 Spring Boot 项目中的属性源(property sources)提供加密支持。


    com.github.ulisesbocchio
    jasypt-spring-boot-starter
    ${jasypt.version}

参考: https://my.oschina.net/kevin2kelly/blog/2254055

74 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。


    org.json
    json
    ${json.version}

参考: http://maven.outofmemory.cn/org.apache.geronimo.bundles/json/20090211_1/

75 Apollo客户端的依赖


    com.ctrip.framework.apollo
    apollo-client
    ${apollo-client-version}

76 项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,具有分布式、高可用、高扩展性


    org.springframework.cloud
    spring-cloud-starter-consul-all

参考: https://www.jianshu.com/p/b1463c1df5a2

77 如果只用到了Spring Cloud Consul 的服务发现功能, 就可只引入下面的依赖,不必全部引入


    org.springframework.cloud
    spring-cloud-starter-consul-discovery

78 如果只用到了Spring Cloud Consul 的配置功能, 就可只引入下面的依赖,不必全部引入


    org.springframework.cloud
    spring-cloud-starter-consul-config

79 JJWT是一个提供端到端的JWT创建和验证的Java库。


    io.jsonwebtoken
    jjwt
    0.9.1

参考: https://www.jianshu.com/p/278ad96dc7f3

80 Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。


   org.springframework.cloud
   spring-cloud-starter-gateway

参考: https://www.jianshu.com/p/1328898190e6

81 Spring WebFlux是在Spring框架5中引入的一种新的反应式Web框架。与Spring MVC不同,它不需要servlet API,完全异步和非阻塞,并通过Reactive Project实现Reactive Streams规范。


    org.springframework.boot
    spring-boot-starter-webflux

参考:Spring-boot-starter-webflux 将 spring-webflux、netty 以及其他必须的依赖包引入到类路径中。

82 OAuth2.0是OAuth协议的延续版本,OAuth是一个关于授权(authorization)的开放网络标准,但不向后兼容OAuth 1.0即完全废止了OAuth1.0,OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。


    org.springframework.security.oauth
    spring-security-oauth2

参考: https://www.jianshu.com/p/63115c71a590

https://www.jianshu.com/p/7f5f55ddb0df

83 Bucket4j限流依赖


    com.github.vladimir-bukhtoyarov
    bucket4j-core
    4.0.0
 

参考: https://blog.csdn.net/m0_37834471/article/details/82621353

84 响应式redis依赖


    org.springframework.boot
    spring-boot-starter-data-redis-reactive

https://blog.csdn.net/liubenlong007/article/details/86541913

你可能感兴趣的:(软件工程与软件架构,maven,Maven,软件架构)