Spring Boot 系列(一)快速入门

简介

  • Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者的。
  • 在以前的 spring 项目中,都会面对大量繁琐的配置,使用的时候基本上都是大量的复制黏贴。而 Spring Boot 则能让我们在不需要过多的配置下,轻松快速地搭建 Spring Web 应用,开箱即用,没有代码生成,也无需 XML 配置,从而快速使用 spring 框架。

开始

版本:java 1.8.0_51 & spring boot 1.5.4

一、构建简单 spring boot 项目

这里官网提供的生成器 SPRING INITIALIZR 来创建简单的 spring boot 项目。

1. 访问 http://start.spring.io

Spring INITIALIZR.png
选项: 工程 (maven) 语言 (java) SpringBoot 版本 (1.5.4)
Group 填组名,Artifact 填模块名,右侧 Dependencies 可以选择相应的依赖,因为我们要构建 web 项目,所以可以添加 web 的依赖。
点击 Generate Project 生成下载项目。

2. 把下载的 maven 项目导入 IDE 并运行

把下载的项目解压并导入到 IDE 中(这里使用 IntelliJ IDEA)
如下:
spring boot.png
直接运行 DemoApplication.java 的 main 方法。
运行成功的截图:
run.png
其中可以看到,项目的进程 ID 为:25642,可以通过 java 的 jconsole 工具查看详细信息。
其中可以看到项目的启动端口为 8080 (spring boot 默认端口,可以在 application.properties 中修改)
port.png

3. 编写 controller 服务

新建 controller 包,包下新建 IndexController
package com.sam.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**

  • @author sam

  • @since 2017/7/14
    */
    @RestController
    public class IndexController {

    @RequestMapping("/index")
    public String index() {
    return "index";
    }

}

注:@RestController 这个注解相当于同时添加 @Controller 和 @ResponseBody 注解。
运行 DemoApplication.java 启动项目,启动日志可以看到端口为 8080
打开浏览器访问:http://localhost:8080/index 可得结果。

说明 ''' 项目运行方式:

  • 在 idea 中,直接运行 DemoApplication.java 文件。
  • 把项目通过 maven 命令 mvn package 打成 jar 包,通过命令 java -jar demo-0.0.1-SNAPSHOT.jar 直接执行 jar 包
  • 借助 maven 插件,执行 mvn spring-boot:run 即可运行项目。

二、pom.xml 讲解

打开 pom.xml 文件,查看配置信息

继承 parent 父模块,spring-boot-starter-parent 模块中包含了自动配置、日志和 YAML(参考:https://my.oschina.net/u/3235888/blog/887854) ,使构建 spring 项目变得简单。

 <!-- 继承 spring boot 父包 -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.4.RELEASE</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

pom.xml 中依赖 spring-boot-starter-web 模块,包括了 Tomcat 和 spring-webmvc(参考:https://my.oschina.net/u/3235888/blog/887854) ,不需要指定 version 版本,因为父模块中已经有默认配置,如果需要指定版本可添加。

<!-- 构建 web 项目模块 包括了 Tomcat 和 spring-webmvc -->
<!-- spring-boot-starter-web 默认依赖了 tomcat 的 starter 所以使得项目可以直接运行而不需要部署到 tomcat 中 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

pom.xml 中依赖 spring-boot-starter-test 测试模块,包括 JUnit、Hamcrest、Mockito

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>
在 spring-boot 中,模块的依赖都是以 starter 的方式进行,以 spring-boot-starter-方式命名,指明了具体的模块。spring-boot 生态中提供了丰富的 starter 供开发者使用 ( 参考:https://my.oschina.net/u/3235888/blog/887854)
这种模块化的依赖,简化了大量的依赖配置。使用 starter 的依赖方式,可以把相应需要依赖的包一起依赖到项目中,而不像传统的 Spring 需要各自依赖包。
如在 spring-boot 中 web 模块,在传统的 Spring 配置中需要依赖 org.springframework spring-web 等 web 服务的包,在 spring-boot 中,只需要依赖 spring-boot-starter-web 就能把相应的包一并依赖进来,极大的简化了配置。

补充

上面讲解了可以从 http://start.spring.io 中直接构建 spring-boot 项目
下面讲解直接在 IntelliJ IDEA 中构建 spring-boot 项目

1. 打开 IDEA ,新建项目

new project.png

2. 选择 Spring Initializr 并在 Choose Initializr Service URL 填入 https://start.spring.io ,点击 Next

spring i.png

3. 填入 Group Artifact 等相关信息,点击 Next

create.png

4. 选择你需要依赖的模块,点击 Next

dep.png

5. 点击 Finish 即可

版权声明:本文为博主原创文章,转载请注明出处。