SpringBoot依赖及其作用分析
作者:喵喵@香菜
将看到的Spring Boot依赖记录下来;
下列dependency采用从父依赖继承版本的方式:
Spring Boot 父依赖如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
SpringBoot的依赖和其描述及其dependency:
1)名称 : spring-boot-starter
描述:核心Spring Boot starter ,包括自动配置支持,日志和YAML;
2)名称 :spring-boot-starter-actuator
描述:生产准备的特性,用于帮你监控和管理应用;
pom:
<!--从父依赖那继承版本号,下面省略此注释--> <!--生产准备的特性,用于帮你监控和管理应用 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
3)名称 :spring-boot-starter-amqp
描述:对高级消息队列协议的支持,通过spring-rabbit实现;
pom:
<!--对高级消息队列协议的支持,通过SpringBoot-rabbit实现 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
4)名称 :spring-boot-starter-aop
描述:对面向切面变成的支持,通过spring-aop和AspectJ
pom:
<!--对面向切面变成的支持,通过spring-aop和AspectJ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
5)名称 :spring-boot-starter-batch
描述:对Spring batch 的支持,包括HSQLDB数据库
pom:
<!--对Spring batch 的支持,包括HSQLDB数据库 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-batch</artifactId> </dependency>
6)名称 :spring-boot-starter-cloud-connection
描述:对Spring Cloud Connection的支持,简化在云平台下(例如,Cloud Foundry和Heroku)服务的连接;
7)名称 :spring-boot-starter-elasticsearch
描述:对Elasticsearche搜索和分析引擎的支持,包括spring-data-elasticsearch;
8)名称 :spring-boot-starter-data-gemfire
描述:对GemFire分布式数据存储的支持,包括spring-data-gemfire;
pom:
<!--对GemFire分布式数据存储的支持,包括spring-data-gemfire--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-gemfire</artifactId> </dependency>
9)名称 :spring-boot-starter-data-jpa
描述:对java持久化API的支持,包括Spring-data-jpa,spring-orm和Hibernate;
pom:
<!--对java持久化API的支持,包括Spring-data-jpa,spring-orm和Hibernate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
10)名称 :spring-boot-starter-data-mongodb
描述:对MongoDB NOSQL数据库的支持,包括spring-data-mongodb;
pom:
<!--对MongoDB NOSQL数据库的支持,包括spring-data-mongodb--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
11)名称 :spring-boot-starter-data-rest
描述:通过对REST暴露Spring data仓库的支持,通过spring-data-rest-webmvc实现;
pom:
<!--通过对REST暴露Spring data仓库的支持,通过Spring-data-rest-webmvc实现--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency>
12)名称 :spring-boot-starter-data-solr
描述:对Apache Solr搜索平台的支持,包括spring-data-solr;
pom:
<!--对Apache Solr搜索平台的支持,包括spring-data-solr--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-solr</artifactId> </dependency>
13)名称 :spring-boot-starter-freemaker
描述:对FreeMarker模板引擎的支持;
pom:
<!--对FreeMarker模板引擎的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
14)名称 :spring-boot-starter-Groovy
描述:对Groovy模板引擎的支持;
15)名称 :spring-boot-starter-hateoas
描述:对基于HATEOAS的RESTful服务的支持,通过spring-hateoas;
pom:
<!--对基于HATEOAS的RESTful服务的支持,通过Spring-hateoas;--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency>
16)名称 :spring-boot-starter-integration
描述:对普通spring-integration模块的支持;
pom:
<!--对普通Spring-integration模块的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-integration</artifactId> </dependency>
17)名称 :spring-boot-starter-hornetq
描述:对”java消息服务API”的支持,通过HornetQ实现;
18)名称 :spring-boot-starter-jdbc
描述:对JDBC数据库的支持;
pom:
<!--对JDBC数据库的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
19)名称 :spring-boot-starter-jersey
描述:对Jersey RESTful Web服务框架的支持;
pom:
<!--对Jersey RESTful Web服务框架的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency>
20)名称 :spring-boot-starter-jta-atomikos
描述:对JTA分布式事务的支持。通过Atomikos实现;
pom:
<!--对JTA分布式事务的支持,通过Atomikos--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jta-atomikos</artifactId> </dependency>
21)名称 :spring-boot-starter-jta-bitronix
描述:对JTA分布式事务的支持,通过Bitronix实现;
pom:
<!--对JTA分布式事务的支持,通过Bitronix实现--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jta-bitronix</artifactId> </dependency>
22)名称 :spring-boot-starter-mail
描述:对javax.mail的支持;
pom:
<!--对javax.mail的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
23)名称 :spring-boot-starter-mobile
描述:对spring-mobile的支持;
pom:
<!--对spring-mobile的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mobile</artifactId> </dependency>
24)名称 :spring-boot-starter-redis
描述:对REDIS键值数据存储的支持,包括Spring-redis;
25)名称 :spring-boot-starter-security
描述:对spring -security模板引擎的支持;
pom:
<!--对spring -security模板引擎的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
26)名称 :spring-boot-starter-social-facebook
描述:对spring-social-facebook的支持;
pom:
<!--对spring-social-facebook的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-social-facebook</artifactId> </dependency>
27)名称 :spring-boot-starter-social-twitter
描述:对spring-social-twitter的支持;
pom:
<!--对spring-social-twitter的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-social-twitter</artifactId> </dependency>
28)名称 :spring-boot-starter-test
描述:对常用测试依赖的支持,包括JUnit,Hamcrest和Mockito还有spring-test模块;
pom:
<!--对常用测试依赖的支持,包括JUnit,Hamcrest和Mockito还有Spring-test模块--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
29)名称 :spring-boot-starter-thymeleaf
描述:对Thymeleaf模板引擎的支持,包括和Spring的集成;
pom:
<!--对Thymeleaf模板引擎的支持,包括和Spring的集成--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
30)名称 :spring-boot-starter-velocity
描述:对velocity模板引擎的支持;
31)名称 :spring-boot-starter-web
描述:对全栈web开发的支持,包括Tomcat和spring-webmvc;
pom:
<!--对全栈web开发的支持,包括Tomcat和spring-webmvc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
32)名称 :spring-boot-starter-websocket
描述:对websocket开发的支持;
pom:
<!--对websocket开发的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>
33)名称 :spring-boot-starter-ws
描述:对Spring web服务的支持;
最后,Spring Boot包含一些可用于排除或交换具体技术方面的starters;
34)名称 :spring-boot-starter-jetty
描述:导入Jetty HTTP引擎(作为Tomcat的代替);
pom:
<!--导入Jetty HTTP引擎(作为Tomcat的代替--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency>
35)名称 :spring-boot-starter-logging
描述:对Log4J日志系统的支持;
pom:
<!--对Log4J日志系统的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> </dependency>
36)名称 :spring-boot-starter-logging
描述:导入SpringBoot的默认日志系统(Logback);
pom:
<!--导入SpringBoot的默认日志系统(Logback--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
37)名称 :spring-boot-starter-tomcat
描述:导入SpringBoot的默认HTTP引擎(Tomcat);
pom:
<!--导入SpringBoot的默认HTTP引擎(Tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency>
38)名称 :spring-boot-starter-undertow
描述:导入Undertow HTTP引擎(作为tomcat的代替);
pom:
<!--导入Undertow HTTP引擎(作为tomcat的代替--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency>
参看了资料将常用的和可能用到的依赖记下,最后我的pom:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zlc</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!--从父依赖那继承版本号--> <!--生产准备的特性,用于帮你监控和管理应用 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--对高级消息队列协议的支持,通过SpringBoot-rabbit实现 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <!-- 对面向切面变成的支持,通过spring-aop和AspectJ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!--对Spring batch 的支持,包括HSQLDB数据库 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-batch</artifactId> </dependency> <!-- 对MongoDB NOSQL数据库的支持,包括spring-data-mongodb--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <!-- 通过对REST暴露Spring data仓库的支持,通过Spring-data-rest-webmvc实现--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <!-- 对java持久化API的支持,包括Spring-data-jpa,spring-orm和Hibernate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-solr</artifactId> </dependency> <!-- 对FreeMarker模板引擎的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- 对基于HATEOAS的RESTful服务的支持,通过Spring-hateoas;--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> <!-- 对普通Spring-integration模块的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-integration</artifactId> </dependency> <!-- 对JDBC数据库的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- 对Jersey RESTful Web服务框架的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> <!-- 对JTA分布式事务的支持,通过Atomikos--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jta-atomikos</artifactId> </dependency> <!-- 对JTA分布式事务的支持,通过Bitronix实现--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jta-bitronix</artifactId> </dependency> <!-- 对javax.mail的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <!-- 对spring-mobile的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mobile</artifactId> </dependency> <!-- 对spring -security模板引擎的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <!-- 对spring-social-facebook的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-social-facebook</artifactId> </dependency> <!-- 对spring-social-twitter的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-social-twitter</artifactId> </dependency> <!-- 对常用测试依赖的支持,包括JUnit,Hamcrest和Mockito还有Spring-test模块;--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <!-- 对Thymeleaf模板引擎的支持,包括和Spring的集成;--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- 对全栈web开发的支持,包括Tomcat和spring-webmvc;--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 对websocket开发的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> <!-- 导入Jetty HTTP引擎(作为Tomcat的代替)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> <!-- 导入SpringBoot的默认日志系统(Logback)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> <!-- 导入SpringBoot的默认HTTP引擎(Tomcat)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <!-- 导入Undertow HTTP引擎(作为tomcat的代替)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> <!-- 对GemFire分布式数据存储的支持,包括spring-data-gemfire--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-gemfire</artifactId> </dependency> <!-- 对java持久化API的支持,包括Spring-data-jpa,spring-orm和Hibernate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。