java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot依赖及其作用

SpringBoot依赖及其作用分析

作者:喵喵@香菜

这篇文章主要介绍了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>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文