spring boot 虽然不强制使用特殊的依赖。但是其提供了一些非常高效的依赖。其中最有如下几个:
- spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/>
</parent>
spring-boot-starter-parent这是一个依赖管理器的pom文件。它的作用就是管理boot需要的所有依赖,从而统一各种jar的版本号,避免了版本不一致而出现的问题。所以,引入其他的依赖就可以省略版本号。当然也可以加上指定的版本号,从而取代默认的。
- spring-cloud-dependencies
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
spring-cloud-dependencies也是一个依赖管理器的pom文件,与spring-boot-starter-parent的作用一样,不同的是spring-cloud-dependencies是对cloud的依赖管理。如:spring-cloud-starter-config、spring-cloud-starter-netflix-eureka-server
- spring-boot-starter-web
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
spring-boot-starter-web会自动嵌入tomcat容器。同时,springboot也会根据classpath中的dependency来自动配置。比如:spring-boot-starter-web会自动装配tomcat容器;并且会自动从application.properties中读取web应用的配置,如:server.port;如果application.properties没有配置相关的参数,则采用默认的配置信息,如:8080。
- spring-boot-starter-data-jpa数据库连接的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
spring-boot-starter-data-jpa数据库连接的依赖。
- spring-cloud-config-server
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
spring-cloud-config-server配置中心;
- spring-cloud-starter-netflix-eureka-server
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
spring-cloud-starter-netflix-eureka-server注册中心。是spring cloud的核心架构。
说明:spring boot提供的一系列spring-boot-starter-和spring-cloud-starter-依赖,其实是相关功能依赖的整合,即引入一个start依赖,就引入多个相应的jar。同时需要注意的是,spring boot提供的starter都是spring-boot-starter-和spring-cloud-starter-这样开头的,如果想自定义starter,则命名格式应该是:*-spring-boot-starter.
原文地址:http://blog.51cto.com/881206524/2121021