自动配置
pom.xml
-
spring-boot-dependencies:核心依赖在父工程中
-
我们在写或者在引入一些springboot依赖的时候不需要指定版本,就因为有这些版本仓库。
spring-boot-starter-parent => spring-boot-dependencies
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.4.3</version>
</parent>
启动器
Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。
总结:
1.它整合了这个模块需要的依赖库;
2.提供对模块的配置项给使用者;
3.提供自动配置类对模块内的Bean进行自动装配;
- 启动器说白了就是springboot的启动场景
- 比如:spring-boot-starter-security , spring-boot-starter-web , spring-boot-starter-test
spring-boot-starter-web启动器 它就会帮我们自动导入web环境所有依赖 - springboot 会将所有功能场景,都变成一个个启动器
- 我们要使用什么功能,只需要找到对应的启动器就可以了
spring应用程序起步依赖
名称 | 描述 |
---|---|
spring-boot-starter | 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 |
spring-boot-starter-amqp | 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。 |
spring-boot-starter-aop | 支持面向方面的编程即AOP,包括spring-aop和AspectJ。 |
spring-boot-starter-artemis | 通过Apache Artemis支持JMS的API(Java Message Service API. 。 |
spring-boot-starter-batch | 支持Spring Batch,包括HSQLDB数据库。 |
spring-boot-starter-cache | 支持Spring的Cache抽象。 |
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 | 支持JPA(Java Persistence API. ,包括spring-data-jpa、spring-orm、Hibernate。 |
spring-boot-starter-data-mongodb | 支持MongoDB数据,包括spring-data-mongodb。 |
spring-boot-starter-data-rest | 通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。 |
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 | 通过spring-hateoas支持基于HATEOAS的RESTful Web服务。 |
spring-boot-starter-hornetq | 通过HornetQ支持JMS。 |
spring-boot-starter-integration | 支持通用的spring-integration模块。 |
spring-boot-starter-jdbc | 支持JDBC数据库。 |
spring-boot-starter-jersey | 支持Jersey RESTful Web服务框架。 |
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 | 支持Spring Web Services。 |
spring Boot应用启动器面向生产环境的还有2种,具体如下:
名称 | 描述 |
---|---|
spring-boot-starter-actuator | 增加了面向产品上线相关的功能,比如测量和监控。 |
spring-boot-starter-remote-shell | 增加了远程ssh shell的支持。 |
Spring Boot应用启动器还有一些替换技术的启动器,具体如下:
名称 | 描述 |
---|---|
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. |