原文链接:http://www.itbus.tech/detail.html?id=8719
Starters
Starters是一群方便的依赖描述符,每一个你都可以添加到你的项目中。这为你提供了一站式服务,当你需要某个依赖的时候,你只需要加入starter就可以,而不需要自己去找依赖列表。例如,如果你想使用Spring和JPA来做数据存储,你只需要添加spring-boot-starter-data-jpa
到你的依赖列表里就可以了。
这些starter包含的这些依赖,让你可以很快的开始一个项目,并且还能快速添加一系列不冲突,可递归的依赖。
starter命名
所有官方的starter的命名都遵循一个命名模式,
spring-boot-starter-*
,在这里*
是一种特定应用类型。这种命名结构可以帮助你寻找你所需要的starter。许多IDE都集成了Maven,可以让你可以按照命名来搜索依赖。例如,如果安装了Eclipse或者STS插件,你可以在POM文件中,使用strl-space
,然后输入spring-boot-starter
来搜索。在这里也建议自己创建starter时,不要使用
spring-boot
开头,因为这是为Spring Boot官方预留的。我们建议第三方的starter使用*-spring-boot-starter
这种命名模式。
下面列出org.springframework.boot
group下所有的starter:
名称 | 描述 | POM |
---|---|---|
spring-boot-starter-thymeleaf | 使用Thymeleaf来做MVC框架 | POM |
spring-boot-starter-data-couchbase | 使用Couchbase(文档型数据库)和Spring Data Couchbase | POM |
spring-boot-starter-artemis | 使用JMS和Apache Artemis | POM |
spring-boot-starter-web-services | Web Services | POM |
spring-boot-starter-mail | 使用Java Mail和Spring Framework的邮件发送 | POM |
spring-boot-starter-data-redis | 使用Redis(一种key-value数据库),和Spring Data Redis以及Jedis客户端 | POM |
spring-boot-starter-mail | 使用Java Mail和Spring Framework的邮件发送 | POM |
spring-boot-starter-data-redis | 使用Redis(一种key-value数据库),和Spring Data Redis以及Jedis客户端 | POM |
spring-boot-starter-web | 创建一个web应用,包含,RESTful,使用Spring MVC做MVC框架,默认使用Tomcat作为内嵌服务器 | POM |
spring-boot-starter-data-gemfire | 使用GemFire(一种分布式数据存储),和Spring Data GemFire | POM |
spring-boot-starter-data-redis | 使用Redis(一种key-value数据库),和Spring Data Redis以及Jedis客户端 | POM |
spring-boot-starter-activemq | 使用JMS,和Apache ActiveMQ | POM |
spring-boot-starter-data-elasticsearch | 使用Elasticsearch,和Spring Data Elasticsearch | POM |
spring-boot-starter-integration | 使用Spring Integration | POM |
spring-boot-starter-test | 测试Spring Boot应用,包含:JUnit, Hamcrest 和 Mockito | POM |
spring-boot-starter-jdbc | 使用JDBC,默认使用Tomcat JDBC连接池 | POM |
spring-boot-starter-mobile | 使用Spring Mobile创建web应用 | POM |
spring-boot-starter-validation | 使用Hibernate Validator来进行Java Bean Validation | POM |
spring-boot-starter-hateoas | 使用Spring MVC和Spring HATEOAS来创建一个基本超媒体的RESTful web应用 | POM |
spring-boot-starter-jersey | 使用JAX-RS和Jersey来创建一个RESTful web应用,这和spring-boot-starter-web 是可以相互替代的 | POM |
spring-boot-starter-data-neo4j | 使用Neo4j和Spring Data Neo4j | POM |
spring-boot-starter-data-ldap | 使用Spring Data LDAP | POM |
spring-boot-starter-websocket | 使用Spring Framework支持的WebSocket来创建WebSocket应用 | POM |
spring-boot-starter-aop | 使用Spring AOP和AspectJ来创建面向切面编程 | POM |
spring-boot-starter-amqp | 使用Spring AMQP和Rabbit MQ | POM |
spring-boot-starter-data-cassandra | 使用Cassandra数据库,和Spring Data Cassandra | POM |
spring-boot-starter-social-facebook | 使用社交平台Facebook | POM |
spring-boot-starter-jta-atomikos | 使用Atomikos来实现分布式事物 | POM |
spring-boot-starter-security | 使用Spring Security | POM |
spring-boot-starter-mustache | 使用Mustache作为MVC框架 | POM |
spring-boot-starter-data-jpa | 使用Hibernate和Spring Data JPA | POM |
spring-boot-starter | 核心starter,包含,自动配置,日志,和YAML | POM |
spring-boot-starter-groovy-templates | 使用Grooby Templates 作为MVC框架 | POM |
spring-boot-starter-freemarker | 使用FreeMarker作为MVC框架 | POM |
spring-boot-starter-batch | 使用Spring Bath | POM |
spring-boot-starter-social-linkedin | 使用社交平台LinkedIn | POM |
spring-boot-starter-cache | 使用Spring支持的缓存 | POM |
spring-boot-starter-data-solr | 使用Apache Solr和Spring Data Solr | POM |
spring-boot-starter-data-mongodb | 使用MongoDB和Spring Data MongoDB | POM |
spring-boot-starter-jooq | 使用jOOQ访问数据库,和spring-boot-starter-data-jpa ,spring-boot-starter-jdbc 可以相互替代 | POM |
spring-boot-starter-jta-narayana | 使用Narayana支持分布式事物 | POM |
spring-boot-starter-cloud-connectors | 使用Spring Cloud Connectors(一个简化的连接云服务),如,Cloud Foundry 和 Heroku | POM |
spring-boot-starter-jta-bitronix | 使用Bitronix支持分布式事物 | POM |
spring-boot-starter-social-twitter | 使用社交平台Twitter | POM |
spring-boot-starter-data-rest | 使用Spring Data REST暴露Spring Data仓库 | POM |
除了上面的starter,还有几个可以在为我们在生产环境提供了一些功能:
名称 | 描述 | POM |
---|---|---|
spring-boot-starter-actuator | 提供了一些生产特性,帮助你监控和管理你的应用 | POM |
spring-boot-starter-remote-shell | 使用CRaSH远程shell来监控和管理应用,从1.5就不推荐使用了 | POM |
最后,Spring Boot还提供了一些你可以选择性替换的细节:
名称 | 描述 | POM |
---|---|---|
spring-boot-starter-undertow | 使用Undertow作为默认servlet容器 | POM |
spring-boot-starter-jetty | 使用Jetty作为默认servlet容器 | POM |
spring-boot-starter-logging | 使用Logback记录日志,默认的logging starter | POM |
spring-boot-starter-tomcat | 使用Tomcat作为默认servlet容器,默认servlet容器 | POM |
spring-boot-starter-log4j2 | 使用Log4j2记录日志 | POM |
社区也贡献了很多starter,可以参考README