spring_reference/III. Using Spring Boot/13.4. Starter POMs.md

73 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

### 13.4. Starter POMs
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`组下提供的:
**表 13.1. Spring Boot application starters**
|名称|描述|
|------|:-----|
|spring-boot-starter|核心Spring Boot starter包括自动配置支持日志和YAML|
|spring-boot-starter-actuator|生产准备的特性,用于帮你监控和管理应用|
|spring-boot-starter-amqp|对"高级消息队列协议"的支持,通过`spring-rabbit`实现|
|spring-boot-starter-aop|对面向切面编程的支持,包括`spring-aop`和AspectJ|
|spring-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`和Hibernate|
|spring-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可以用于添加[生产准备](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready)的特性。
**表 13.2. Spring Boot生产准备的starters**
|名称|描述|
|----|:----|
|spring-boot-starter-actuator|添加生产准备特性,比如指标和监控|
|spring-boot-starter-remote-shell|添加远程`ssh` shell支持|
最后Spring Boot包含一些可用于排除或交换具体技术方面的starters。
**表 13.3. 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文件](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters/README.adoc)可以获取到一个社区贡献的其他starter POMs列表。