SpringBoot启动器Starters使用及原理解析
Starters是什么
Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用SpringJPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。
Starters命名规则
SpringBoot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型。第三方的启动器不能以spring-boot开头命名,它们都被SpringBoot官方保留。一般一个第三方的应该这样命名,像mybatis的mybatis-spring-boot-starter。
启动器种类
SpringBoot应用启动器基本的一共有N(现知道的是44)种:具体如下:
spring-boot-starter这是SpringBoot的核心启动器,包含了自动配置、日志和YAML。
spring-boot-starter-actuator帮助监控和管理应用。
spring-boot-starter-amqp通过spring-rabbit来支持AMQP协议。
spring-boot-starter-aop支持面向方面的编程即AOP,包括spring-aop和AspectJ。
spring-boot-starter-artemis通过ApacheArtemis支持JMS的API(JavaMessageServiceAPI)。
spring-boot-starter-batch支持SpringBatch,包括HSQLDB数据库。
spring-boot-starter-cache支持Spring的Cache抽象。
spring-boot-starter-cloud-connectors支持SpringCloudConnectors,简化了在像CloudFoundry或Heroku这样的云平台上连接服务。
spring-boot-starter-data-elasticsearch支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。
spring-boot-starter-data-gemfire支持GemFire分布式数据存储,包括spring-data-gemfire。
spring-boot-starter-data-jpa支持JPA、包括spring-data-jpa、spring-orm、Hibernate。
spring-boot-starter-data-mongodb支持MongoDB数据,包括spring-data-mongodb。
spring-boot-starter-data-rest支持通过REST暴露SpringData数据仓库。
spring-boot-starter-data-solr支持ApacheSolr搜索平台,包括spring-data-solr。
spring-boot-starter-freemarker支持FreeMarker模板引擎。
spring-boot-starter-groovy-templates支持Groovy模板引擎。
spring-boot-starter-hateoas通过spring-hateoas支持基于HATEOAS的RESTfulWeb服务。
spring-boot-starter-hornetq通过HornetQ支持JMS。
spring-boot-starter-integration支持通用的spring-integration模块。
spring-boot-starter-jdbc支持JDBC数据库。
spring-boot-starter-jersey支持JerseyRESTfulWeb服务框架。
spring-boot-starter-jta-atomikos通过Atomikos支持JTA分布式事务处理。
spring-boot-starter-jta-bitronix通过Bitronix支持JTA分布式事务处理。
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支持pring-social-linkedin
spring-boot-starter-social-twitter支持pring-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支持SpringWebServices。
SpringBoot应用启动器面向生产环境的还有2种,具体如下:
spring-boot-starter-actuator增加了面向产品上线相关的功能,比如测量和监控。
spring-boot-starter-remote-shell增加了远程sshshell的支持。
最后,SpringBoot应用启动器还有一些替换技术的启动器,具体如下:
spring-boot-starter-jetty引入了JettyHTTP引擎(用于替换Tomcat)。
spring-boot-starter-log4j支持Log4J日志框架。
spring-boot-starter-logging引入了SpringBoot默认的日志框架Logback。
spring-boot-starter-tomcat引入了SpringBoot默认的HTTP引擎Tomcat。
spring-boot-starter-undertow引入了UndertowHTTP引擎(用于替换Tomcat)。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。