Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合。你可以获取所有Spring及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符。例如,如果你想使用Spring和JPA进行数据库访问,只需要在你的项目中包含spring-boot-starter-data-jpa
依赖,然后你就可以开始了。
该starters包含很多你搭建项目,快速运行所需的依赖,并提供一致的,管理的传递依赖集。
名字有什么含义:所有的starters遵循一个相似的命名模式:spring-boot-starter-*
,在这里*
是一种特殊类型的应用程序。该命名结构旨在帮你找到需要的starter。很多IDEs集成的Maven允许你通过名称搜索依赖。例如,使用相应的Eclipse或STS插件,你可以简单地在POM编辑器中点击ctrl-space
,然后输入”spring-boot-starter”可以获取一个完整列表。
下面的应用程序starters是Spring Boot在org.springframework.boot
组下提供的:
Spring Boot application starters
名称描述spring-boot-starter核心Spring Boot starter,包括自动配置支持,日志和YAMLspring-boot-starter-actuator生产准备的特性,用于帮你监控和管理应用spring-boot-starter-amqp对”高级消息队列协议”的支持,通过spring-rabbit
实现spring-boot-starter-aop对面向切面编程的支持,包括spring-aop
和AspectJspring-boot-starter-batch对Spring Batch的支持,包括HSQLDB数据库spring-boot-starter-cloud-connectors对Spring Cloud Connectors的支持,简化在云平台下(例如,Cloud Foundry 和Heroku)服务的连接spring-boot-starter-data-elasticsearch对Elasticsearch搜索和分析引擎的支持,包括spring-data-elasticsearch
spring-boot-starter-data-gemfire对GemFire分布式数据存储的支持,包括spring-data-gemfire
spring-boot-starter-data-jpa对”Java持久化API”的支持,包括spring-data-jpa
,spring-orm
和Hibernatespring-boot-starter-data-mongodb对MongoDB NOSQL数据库的支持,包括spring-data-mongodb
spring-boot-starter-data-rest对通过REST暴露Spring Data仓库的支持,通过spring-data-rest-webmvc
实现spring-boot-starter-data-solr对Apache Solr搜索平台的支持,包括spring-data-solr
spring-boot-starter-freemarker对FreeMarker模板引擎的支持spring-boot-starter-groovy-templates对Groovy模板引擎的支持spring-boot-starter-hateoas对基于HATEOAS的RESTful服务的支持,通过spring-hateoas
实现spring-boot-starter-hornetq对”Java消息服务API”的支持,通过HornetQ实现spring-boot-starter-integration对普通spring-integration
模块的支持spring-boot-starter-jdbc对JDBC数据库的支持spring-boot-starter-jersey对Jersey RESTful Web服务框架的支持spring-boot-starter-jta-atomikos对JTA分布式事务的支持,通过Atomikos实现spring-boot-starter-jta-bitronix对JTA分布式事务的支持,通过Bitronix实现spring-boot-starter-mail对javax.mail
的支持spring-boot-starter-mobile对spring-mobile
的支持spring-boot-starter-mustache对Mustache模板引擎的支持spring-boot-starter-redis对REDIS键值数据存储的支持,包括spring-redis
spring-boot-starter-security对spring-security
的支持spring-boot-starter-social-facebook对spring-social-facebook
的支持spring-boot-starter-social-linkedin对spring-social-linkedin
的支持spring-boot-starter-social-twitter对spring-social-twitter
的支持spring-boot-starter-test对常用测试依赖的支持,包括JUnit, Hamcrest和Mockito,还有spring-test
模块spring-boot-starter-thymeleaf对Thymeleaf模板引擎的支持,包括和Spring的集成spring-boot-starter-velocity对Velocity模板引擎的支持spring-boot-starter-web对全栈web开发的支持,包括Tomcat和spring-webmvc
spring-boot-starter-websocket对WebSocket开发的支持spring-boot-starter-ws对Spring Web服务的支持
除了应用程序的starters,下面的starters可以用于添加[生产准备](../V. Spring Boot Actuator/README.md)的特性。
Spring Boot生产准备的starters
名称描述spring-boot-starter-actuator添加生产准备特性,比如指标和监控spring-boot-starter-remote-shell添加远程ssh
shell支持
最后,Spring Boot包含一些可用于排除或交换具体技术方面的starters。
Spring Boot technical starters
名称描述spring-boot-starter-jetty导入Jetty HTTP引擎(作为Tomcat的替代)spring-boot-starter-log4j对Log4J日志系统的支持spring-boot-starter-logging导入Spring Boot的默认日志系统(Logback)spring-boot-starter-tomcat导入Spring Boot的默认HTTP引擎(Tomcat)spring-boot-starter-undertow导入Undertow HTTP引擎(作为Tomcat的替代)注:查看GitHub上位于spring-boot-starters
模块内的README文件,可以获取到一个社区贡献的其他starter POMs列表。