深入实践Spring Boot1.3.1 Maven依赖管理

1.3.1 Maven依赖管理

使用Maven,通过导入Spring Boot的starter模块,可以将许多程序依赖包自动导入工程中。使用Maven的parent POM,还可以更容易地管理依赖的版本和使用默认的配置,工程中的模块也可以很方便地继承它。例如,使用1.2.1节创建的工程,修改pom.xml文件,使用如代码清单1-1所示的简单Maven配置,基本上就能为一个使用Spring Boot开发框架的Web项目开发提供所需的相关依赖。

代码清单1-1 Spring Boot Web基本依赖配置

<?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>springboot.example</groupId>

   
<artifactId>spring-boot-hello</artifactId>

    <version>1.0-SNAPSHOT</version>

 

    <parent>

       
<groupId>org.springframework.boot</groupId>

       
<artifactId>spring-boot-starter-parent</artifactId>

        <version>1.3.2.RELEASE</version>

    </parent>

 

    <dependencies>

        <dependency>

           
<groupId>org.springframework.boot</groupId>

           
<artifactId>spring-boot-starter-web</artifactId>

        </dependency>

    </dependencies>

</project>

这里只使用了一个依赖配置spring-boot-starter-web和一个parent配置spring-boot-starter-parent,在工程的外部库(External Libraries)列表中,它自动引入的依赖包如代码清单1-2所示。

代码清单1-2 Maven加载的依赖列表

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-starter-web:1.3.2.RELEASE" level="project"
/>

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-starter:1.3.2.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot:1.3.2.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-autoconfigure:1.3.2.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-starter-logging:1.3.2.RELEASE"
level="project" />

<orderEntry type="library"
name="Maven: ch.qos.logback:logback-classic:1.1.3"
level="project" />

<orderEntry
type="library" name="Maven:
ch.qos.logback:logback-core:1.1.3" level="project" />

<orderEntry
type="library" name="Maven: org.slf4j:slf4j-api:1.7.13"
level="project" />

<orderEntry
type="library" name="Maven:
org.slf4j:jcl-over-slf4j:1.7.13" level="project" />

<orderEntry
type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.13"
level="project" />

<orderEntry
type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.13"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework:spring-core:4.2.4.RELEASE" level="project"
/>

<orderEntry
type="library" scope="RUNTIME" name="Maven:
org.yaml:snakeyaml:1.16" level="project" />

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-starter-tomcat:1.3.2.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.apache.tomcat.embed:tomcat-embed-core:8.0.30"
level="project" />

<orderEntry
type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.0.30"
level="project" />

<orderEntry
type="library" name="Maven:
org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.30"
level="project" />

<orderEntry
type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.0.30"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework.boot:spring-boot-starter-validation:1.3.2.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.hibernate:hibernate-validator:5.2.2.Final" level="project"
/>

<orderEntry
type="library" name="Maven:
javax.validation:validation-api:1.1.0.Final" level="project"
/>

<orderEntry
type="library" name="Maven:
org.jboss.logging:jboss-logging:3.3.0.Final" level="project"
/>

<orderEntry
type="library" name="Maven: com.fasterxml:classmate:1.1.0"
level="project" />

<orderEntry
type="library" name="Maven:
com.fasterxml.jackson.core:jackson-databind:2.6.5"
level="project" />

<orderEntry
type="library" name="Maven:
com.fasterxml.jackson.core:jackson-annotations:2.6.5"
level="project" />

<orderEntry
type="library" name="Maven:
com.fasterxml.jackson.core:jackson-core:2.6.5" level="project"
/>

<orderEntry
type="library" name="Maven:
org.springframework:spring-web:4.2.4.RELEASE" level="project"
/>

<orderEntry
type="library" name="Maven:
org.springframework:spring-aop:4.2.4.RELEASE" level="project"
/>

<orderEntry
type="library" name="Maven: aopalliance:aopalliance:1.0"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework:spring-beans:4.2.4.RELEASE" level="project"
/>

<orderEntry
type="library" name="Maven:
org.springframework:spring-context:4.2.4.RELEASE"
level="project" />

<orderEntry
type="library" name="Maven:
org.springframework:spring-webmvc:4.2.4.RELEASE" level="project"
/>

<orderEntry
type="library" name="Maven:
org.springframework:spring-expression:4.2.4.RELEASE"
level="project" />

在工程的外部库列表中,Spring Boot已经导入了整个springframework依赖,以及autoconf?igure、logging、slf4j、jackson、tomcat插件等,所有这些都是一个Web项目可能需要用到的东西(包括你已经考虑到的和没有考虑到的),它真是一个聪明的助手。

时间: 2025-01-02 19:59:25

深入实践Spring Boot1.3.1 Maven依赖管理的相关文章

深入实践Spring Boot1.1.3 安装Apache Maven

1.1.3 安装Apache Maven 为了能够在命令行窗口中使用Maven来管理工程,可以安装一个Maven管理工具.通过Maven的官网http://maven.apache.org/download.cgi下载3.0.5以上的版本,下载完后解压缩即可,例如,解压到D:盘上是不错的做法,然后将Maven的安装路径(如D:\apache-maven-3.2.3\bin)也加入Windows的环境变量path中.安装完成后,在命令行窗口中执行指令:mvn–v,将输出如下的版本信息以及系统的一些

深入实践Spring Boot1.2.1 使用Maven新建项目

1.2.1 使用Maven新建项目 使用Maven新建一个项目主要有以下三个步骤.   图1-6 新建一个Maven项目 1.?选择项目类型 在图1-6中的Project SDK下拉列表框中选择前面安装的Java 1.8,如果下拉列表框中不存在Java 1.8,可以单击New按钮,找到安装Java的位置,选择它.然后在左面侧边栏的项目类型中,选择Maven项目,即可使用Maven作为项目的管理工具.至于Maven中的archetype,因为我们并不打算使用其中任何一种类型,所以不用勾选,然后单击

深入实践Spring Boot1.4.2 将应用打包发布

1.4.2 将应用打包发布 上面操作演示了在IDEA环境中如何运行一个应用.如果我们想把应用发布出去,需要怎么做呢?可以将代码清单1-1中的Maven配置增加一个发布插件来实现.如代码清单1-4所示,增加了一个打包插件:spring-boot-maven-plugin,并增加了一行打包的配置:<packaging>jar</packaging>,这行配置指定将应用工程打包成jar文件. 代码清单1-4 包含打包插件的Maven配置 <?xml version="1.

深入实践Spring Boot1.2 创建项目工程

1.2 创建项目工程 现在,可以尝试使用IDEA来创建一个项目工程.如果是第一次打开IDEA,可以选择Create New Project创建一个新工程.如果已经打开了IDEA,在File菜单中选择New Project,也能打开New Project对话框,如图1-6所示.使用IDEA创建一个Spring Boot项目有很多方法,这里只介绍使用Maven和Spring Initializr这两种方法来创建一个新项目.一般使用Maven来新建一个项目,因为这样更容易按我们的要求配置一个项目.

深入实践Spring Boot1.2.2 使用Spring Initializr新建项目

1.2.2 使用Spring Initializr新建项目 新建一个Spring Boot项目,也可以使用Spring Initializr的方式,这种方式很简单,如图1-10所示.注意Initializr Service URL为https://start.spring.io,这将会连接网络,以查询Spring Boot的当前可用版本和组件列表.使用这种方式新建项目大体上也需要三个步骤. 1.?选择类型 可以使用默认选项,注意Type为Maven Project,Java Version为1.

深入实践Spring Boot1.3 使用Spring Boot

1.3 使用Spring Boot 任何应用的开发都需要对项目的创建.运行和发布等进行管理,使用Spring Boot框架进行开发,可以选择使用Maven或Gradle等项目管理工具.在这里我们使用的是Maven.

深入实践Spring Boot1.1.2 安装InterlliJ IDEA

1.1.2 安装InterlliJ IDEA IDEA需要14.0以上的版本,可以从其官网http://www.jetbrains.com/下载免费版,本书的实例是使用 IDEA14.1.15版本开发的.IDEA已经包含Maven插件,版本是3.0.5,这已经能够适用我们开发的要求.安 装完成后,打开IDEA,将显示如图1-1所示的欢迎界面,在这里可以看到IDEA的版本号.   图1-1 InterlliJ IDEA欢迎界面

深入实践Spring Boot1.1.4 安装Git客户端

1.1.4 安装Git客户端 由于本书的实例工程都存放在GitHub(https://github.com/)中,所以还需要在GitHub中免费注册一个用户(可以通过E-mail直接注册免费用户),以方便在IDEA中从GitHub检出本书的实例工程.当然,如果不想注册,通过普通下载的方法也能取得实例工程的源代码.GitHub是世界级的代码库服务器,如果你愿意,也可以将它作为你的代码库服务器,在这里还可以搜索到全世界的开发者分享出来的源程序.图1-3是打开GitHub的首页.   图1-2 Mav

深入实践Spring Boot1.3.2 一个简单的实例

1.3.2 一个简单的实例 Spring Boot的官方文档中提供了一个最简单的Web实例程序,这个实例只使用了几行代码,如代码清单1-3所示.虽然简单,但实际上这已经可以算作是一个完整的Web项目了. 代码清单1-3 Spring Boot简单实例 package springboot.example;   import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigu