Spring boot starters总结(慢慢充实)

实习公司老大哥想要做个spring-boot-starter的培训,让我给先打个样儿,于是搜集了一些资料,还很浅显,以后慢慢补充,现在写一个完整的文档记录一下。

[github源码地址] | [官方英文文档] | [个翻中文文档]

Starters are a set of convenient dependency descriptors which we can include in our application.

Spring Boot provides built-in starters which makes development easier and rapid. For example, if we want to get started using Spring and JPA for database access, just include the spring-boot-starter-data-jpa dependency in your project.

Starter should follow a naming pattern like: spring-boot-starter-, where is a particular type of application. This naming structure is intended to help when you need to find a starter.

spring-boot-starter

Core starter, including auto-configuration support, logging and YAML
Core starter,包括 自动配置支持、 logging and YAML
logging是指的Starter的专有框架;YAML是“另一种标记语言”的外语缩写,它参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822

spring-boot-starter-activemq

Starter for JMS messaging using Apache ActiveMQ
为JMS使用Apache ActiveMQ    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线

spring-boot-starter-amqp

Starter for using Spring AMQP and Rabbit MQ
Spring AMQP 是基于 Spring 框架的 AMQP 消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的 POJO;RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统

spring-boot-starter-aop

Starter for aspect-oriented programming with Spring AOP and AspectJ
通过Spring AOP、AspectJ面向切面编程    
AspectJ是一个面向切面的框架,它扩展了Java语言

spring-boot-starter-artemis

Starter for JMS messaging using Apache Artemis
为JMS messaging使用Apache Artemis
JMS是Java消息服务;HornetQ代码库捐献给 Apache ActiveMQ 社区,它现在成为ActiveMQ旗下的一个子项目,名为 “Artemis”

spring-boot-starter-batch

Starter for using Spring Batch
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统

spring-boot-starter-cache

Starter for using Spring Framework’s caching support
Spring caching是Spring的提供的缓存框架

spring-boot-starter-cloud-connectors

Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku
Cloud Foundry是VMware推出的业界第一个开源PaaS云平台;Heroku是一个支持多种编程语言的云平台即服务

spring-boot-starter-data-cassandra

Starter for using Cassandra distributed database and Spring Data Cassandra
Apache Cassandra是一套开源分布式NoSQL数据库系统

spring-boot-starter-data-cassandra-reactive

Starter for using Cassandra distributed database and Spring Data Cassandra Reactive

spring-boot-starter-data-couchbase

Starter for using Couchbase document-oriented database and Spring Data Couchbase
使用Couchbase 文件存储数据库、Spring Data Couchbase
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架

spring-boot-starter-data-couchbase-reactive

Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive

spring-boot-starter-data-elasticsearch

Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口

spring-boot-starter-data-jdbc

Starter for using Spring Data JDBC

spring-boot-starter-data-jpa

Starter for using Spring Data JPA with Hibernate
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中

spring-boot-starter-data-ldap

Starter for using Spring Data LDAP

spring-boot-starter-data-mongodb

Starter for using MongoDB document-oriented database and Spring Data MongoDB
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架

spring-boot-starter-data-mongodb-reactive

Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive

spring-boot-starter-data-neo4j

Starter for using Neo4j graph database and Spring Data Neo4j
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中

spring-boot-starter-data-redis

Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client
通过Spring Data Redis 、Jedis client使用Redis键值存储数据库    Jedis 是 Redis 官方首选的 Java 客户端开发包

spring-boot-starter-data-redis-reactive

Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client

spring-boot-starter-data-rest

Starter for exposing Spring Data repositories over REST using Spring Data REST
使用Spring Data REST 以 REST 方式暴露 Spring Data repositories

spring-boot-starter-data-solr

Starter for using the Apache Solr search platform with Spring Data Solr
Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现

spring-boot-starter-freemarker

Starter for building MVC web applications using FreeMarker views
FreeMarker是模视图模板,同类事物:Jsp

spring-boot-starter-groovy-templates

Starter for building MVC web applications using Groovy Templates views
Groovy Templates是模视图模板,同类事物:Jsp

spring-boot-starter-hateoas

Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS
Spring HATEOAS 是一个用于支持实现超文本驱动的 REST Web 服务的开发库

spring-boot-starter-integration

Starter for using Spring Integration
Spring Integration是Spring框架创建的一个API,面向企业应用集成(EAI)

spring-boot-starter-jdbc

Starter for using JDBC with the HikariCP connection pool
通过 Tomcat JDBC 连接池使用JDBC

spring-boot-starter-jersey

Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web
通过 JAX-RS、Jersey构建 RESTful web applications;spring-boot-starter-web的另一替代方案    
JAX-RS是JAVA EE6 引入的一个新技术;Jersey不仅仅是一个JAX-RS的参考实现,Jersey提供自己的API,其API继承自JAX-RS,提供更多的特性和功能以进一步简化RESTful service和客户端的开发

spring-boot-starter-jooq

Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc
jOOQ(Java Object Oriented Querying,即面向Java对象查询)是一个高效地合并了复杂SQL、类型安全、源码生成、ActiveRecord、存储过程以及高级数据类型的Java API的类库。

spring-boot-starter-json

Starter for reading and writing json

spring-boot-starter-jta-atomikos

Starter for JTA transactions using Atomikos
JTA,即Java Transaction API,JTA允许应用程序执行分布式事务处理;Atomikos 是一个为Java平台提供增值服务的并且开源类事务管理

spring-boot-starter-jta-bitronix

Starter for JTA transactions using Bitronix
Bitronix Transaction Manager (BTM) 是一个简单但完整实现了 JTA 1.1 API 的类库,完全支持 XA 事务管理器,提供 JTA API 所需的所有服务,并让代码保持简洁

spring-boot-starter-mail

Starter for using Java Mail and Spring Framework’s email sending support
Java Mail、Spring email为邮件发送工具

spring-boot-starter-mustache

Starter for building web applications using Mustache views
Mustache是基于JavaScript实现的模版引擎,类似于jQuery Template,但是这个模版更加的轻量级,语法更加的简单易用,很容易上手

spring-boot-starter-oauth2-client

Starter for using Spring Security’s OAuth2/OpenID Connect client features

spring-boot-starter-oauth2-resource-server

Starter for using Spring Security’s OAuth2 resource server features

spring-boot-starter-quartz

Starter for using the Quartz scheduler

spring-boot-starter-security

Starter for using Spring Security
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架

spring-boot-starter-test

Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito
测试 Spring Boot applications包含JUnit、 Hamcrest、Mockito测试框架

spring-boot-starter-thymeleaf

Starter for building MVC web applications using Thymeleaf views
使MVC Web applications 支持Thymeleaf
Thymeleaf是一个JAVA库,一个XML/XHTML/HTML5的可扩展的模板引擎,同类事物:Jsp

spring-boot-starter-validation

Starter for using Java Bean Validation with Hibernate Validator
Bean Validation 是一个数据验证的规范;Hibernate Validator是一个数据验证框架

spring-boot-starter-web

Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container
构建Web,包含RESTful风格框架SpringMVC和默认的嵌入式容器Tomcat    RESTful是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件

spring-boot-starter-web-services

Starter for using Spring Web Services
使用Spring Web Services
Spring Web Services是基于Spring框架的Web服务框架,主要侧重于基于文档驱动的Web服务,提供SOAP服务开发,允许通过多种方式创建 Web 服务。

spring-boot-starter-webflux

Starter for building WebFlux applications using Spring Framework’s Reactive Web support

spring-boot-starter-websocket

Starter for building WebSocket applications using Spring Framework’s WebSocket support
相对于HTTP这种非持久的协议来说,Websocket是一个持久化的协议

Spring Boot production starters

spring-boot-starter-actuator

Starter for using Spring Boot’s Actuator which provides production ready features to help you monitor and manage your application
使用Spring Boot Actuator 的 production-ready 功能来帮助你监视和管理应用

Spring Boot technical starters

spring-boot-starter-jetty

Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat
使用 Jetty 作为嵌入式服务容器;spring-boot-starter-tomcat的另一替代方案 Jetty 是开源 Java 应用服务器

spring-boot-starter-log4j2

Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging

spring-boot-starter-logging

Starter for logging using Logback. Default logging starter
Logback是由log4j创始人设计的又一个开源日志组件

spring-boot-starter-reactor-netty

Starter for using Reactor Netty as the embedded reactive HTTP server.

spring-boot-starter-tomcat

Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web

spring-boot-starter-undertow

Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat
使用 Undertow 作为嵌入式服务容器;spring-boot-starter-tomcat的另一替代方案    
Undertow是JBoss开源组织旗下一款Web服务器的名称
Donate here.