Starter POMs是可以包含到應用中的一個方便的依賴關系描述符集合。你可以獲取所有Spring及相關技術的一站式服務质和,而不需要翻閱示例代碼,拷貝粘貼大量的依賴描述符。例如糕伐,如果你想使用Spring和JPA進行數(shù)據(jù)庫訪問,只需要在你的項目中包含 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 組下提供的:
表1.Spring Boot application starters
名稱 | 描述 |
---|---|
spring-boot-starter | 核心Spring Boot starter,包括自動配置支持颊艳,日志和YAML |
spring-boot-starter-actuator | 生產準備的特性茅特,用于幫你監(jiān)控和管理應用 |
spring-boot-starter-activemq | Starter for JMS messaging using Apache ActiveMQ |
spring-boot-starter-amqp | 對"高級消息隊列協(xié)議"的支持,通過 spring-rabbit 實現(xiàn) |
spring-boot-starter-aop | 對面向切面編程的支持棋枕,包括 spring-aop 和AspectJ |
spring-boot-starter-batch | 對Spring Batch的支持白修,包括HSQLDB數(shù)據(jù)庫 |
spring-boot-starter-cloudconnectors | 對Spring Cloud Connectors的支持,簡化在云平臺下(例如戒悠,Cloud Foundry 和Heroku)服務的連接 |
spring-boot-starter-dataelasticsearch | 對Elasticsearch搜索和分析引擎的支持熬荆,包括 spring-data-elasticsearch |
spring-boot-starter-datagemfire | 對GemFire分布式數(shù)據(jù)存儲的支持,包括 spring-data-gemfire |
spring-boot-starter-data-jpa | 對"Java持久化API"的支持绸狐,包括 spring-data-jpa 卤恳, spring-orm 和Hibernate |
spring-boot-starter-datamongodb | 對MongoDB NOSQL數(shù)據(jù)庫的支持,包括 spring-data-mongodb |
spring-boot-starter-data-neo4j | Starter for using Neo4j graph database and Spring Data Neo4j |
spring-boot-starter-data-rest | 對通過REST暴露Spring Data倉庫的支持寒矿,通過 spring-data-rest-webmvc 實現(xiàn) |
spring-boot-starter-data-solr | 對Apache Solr搜索平臺的支持突琳,包括 spring-data-solr |
spring-boot-starter-freemarker | 對FreeMarker模板引擎的支持 |
spring-boot-starter-groovytemplates | 對Groovy模板引擎的支持 |
spring-boot-starter-hateoas | 對基于HATEOAS的RESTful服務的支持,通過 spring-hateoas 實現(xiàn) |
spring-boot-starter-hornetq | 對"Java消息服務API"的支持符相,通過HornetQ實現(xiàn) |
spring-boot-starter-integration | 對普通 spring-integration 模塊的支持 |
spring-boot-starter-jdbc | 對JDBC數(shù)據(jù)庫的支持 |
spring-boot-starter-jersey | 對Jersey RESTful Web服務框架的支持 |
spring-boot-starter-jtaatomikos | 對JTA分布式事務的支持拆融,通過Atomikos實現(xiàn) |
spring-boot-starter-jta-bitronix | 對JTA分布式事務的支持蠢琳,通過Bitronix實現(xiàn) |
spring-boot-starter-mail | 對 javax.mail 的支持 |
spring-boot-starter-mobile | 對 spring-mobile 的支持 |
spring-boot-starter-mustache | 對Mustache模板引擎的支持 |
spring-boot-starter-redis | 對REDIS鍵值數(shù)據(jù)存儲的支持,包括 spring-redis |
spring-boot-starter-security | 對 spring-security 的支持 |
spring-boot-starter-socialfacebook | 對 spring-social-facebook 的支持 |
spring-boot-starter-sociallinkedin | 對 spring-social-linkedin 的支持 |
spring-boot-starter-socialtwitter | 對 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開發(fā)的支持趟脂,包括Tomcat和 spring-webmvc |
spring-boot-starter-websocket | 對WebSocket開發(fā)的支持 |
spring-boot-starter-ws | 對Spring Web服務的支持 |
以上的starters會跟隨spring boot的持續(xù)發(fā)布版本泰讽,也會增加更多的spring-boot-starter-* 的依賴管理關系
除了應用程序的starters,下面的starters可以用于添加生產準備的特性昔期。
表2.Spring Boot生產準備的starters
名稱 | 描述 |
---|---|
spring-boot-starter-actuator | 添加生產準備特性已卸,比如指標和監(jiān)控 |
spring-boot-starter-remote-shell | 添加遠程 ssh shell支持 |
最后,Spring Boot包含一些可用于排除或交換具體技術方面的starters硼一。
表3.Spring Boot生產準備的starters
名稱 | 描述 |
---|---|
spring-boot-starter-jetty | 導入Jetty HTTP引擎(作為Tomcat的替代) |
spring-boot-starter-log4j2 | Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging 對Log4J日志系統(tǒng)的支持 |
spring-boot-starter-logging | 導入Spring Boot的默認日志系統(tǒng)(Logback) |
spring-boot-starter-tomcat | 導入Spring Boot的默認HTTP引擎(Tomcat) |
spring-boot-starter-undertow | 導入Undertow HTTP引擎(作為Tomcat的替代) |
注:查看GitHub上位于 spring-boot-starters 模塊內的README文件累澡,可以獲取到一個社區(qū)貢獻的其他starter POMs列表。