一 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