SpringBoot介绍与使用

SpringBoot介绍与使用

1.什么是SpringBoot

SpringBoot是Spring项目中的一个子工程,与咱们所熟知的Spring-framework 同属于spring的产品:java

咱们能够看到下面的一段介绍:程序员

Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible.web

翻译一下:spring

用一些固定的方式来构建生产级别的spring应用。Spring Boot 推崇约定大于配置的方式以便于你可以尽量快速的启动并运行程序。apache

其实人们把Spring Boot 称为搭建程序的脚手架。其最主要做用就是帮咱们快速的构建庞大的spring项目,而且尽量的减小一切xml配置,作到开箱即用,迅速上手,让咱们关注与业务而非配置。安全

2.为何要学习SpringBoot

java一直被人诟病的一点就是臃肿、麻烦。当咱们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其缘由注意是两点:springboot

  • 复杂的配置,服务器

    项目各类配置实际上是开发时的损耗, 由于在思考 Spring 特性配置和解决业务问题之间须要进行思惟切换,因此写配置挤占了写应用程序逻辑的时间。app

  • 一个是混乱的依赖管理。maven

    项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪一个版本和其余库不会有冲突,这难题实在太棘手。而且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。

而SpringBoot让这一切成为过去!

Spring Boot 简化了基于Spring的应用开发,只须要“run”就能建立一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置,存放默认配置的包就是启动器),这样咱们就能够简单的开始。多数Spring Boot应用只须要不多的Spring配置。

咱们可使用SpringBoot建立java应用,并使用java –jar 启动它,就能获得一个生产级别的web工程。

3.SpringBoot的特色

Spring Boot 主要目标是:

  • 为全部 Spring 的开发者提供一个很是快速的、普遍接受的入门体验
  • 开箱即用(启动器starter-其实就是SpringBoot提供的一个jar包),但经过本身设置参数(.properties),便可快速摆脱这种方式。
  • 提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等
  • 绝对没有代码生成,也无需 XML 配置。

更多细节,你们能够到官网查看。

4.SpringBoot搭建web工程

接下来,咱们就来利用SpringBoot搭建一个web工程,体会一下SpringBoot的魅力所在!

4.1.建立工程

咱们先新建一个空的工程:

工程名为demo:

新建一个model:

使用maven来构建:

而后填写项目坐标:

目录结构:

项目结构:

4.2.添加依赖

看到这里不少同窗会有疑惑,前面说传统开发的问题之一就是依赖管理混乱,怎么这里咱们还须要管理依赖呢?难道SpringBoot不帮咱们管理吗?

别着急,如今咱们的项目与SpringBoot尚未什么关联。SpringBoot提供了一个名为spring-boot-starter-parent的工程,里面已经对各类经常使用依赖(并不是所有)的版本进行了管理,咱们的项目须要以这个项目为父工程,这样咱们就不用操心依赖的版本问题了,须要什么依赖,直接引入坐标便可!

4.2.1.添加父工程坐标

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

4.2.2.添加web启动器

为了让SpringBoot帮咱们完成各类自动配置,咱们必须引入SpringBoot提供的自动配置依赖,咱们称为启动器。由于咱们是web项目,这里咱们引入web启动器:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

须要注意的是,咱们并无在这里指定版本信息。由于SpringBoot的父工程已经对版本进行了管理了。

这个时候,咱们会发现项目中多出了大量的依赖:

这些都是SpringBoot根据spring-boot-starter-web这个依赖自动引入的,并且全部的版本都已经管理好,不会出现冲突。

4.2.3.管理jdk版本

默认状况下,maven工程的jdk版本是1.5,而咱们开发使用的是1.8,所以这里咱们须要修改jdk版本,只须要简单的添加如下属性便可:

<properties>
        <java.version>1.8</java.version>
    </properties>

4.2.4.完整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.leyou.demo</groupId>
    <artifactId>springboot-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

4.3.启动类

Spring Boot项目经过main函数便可启动,咱们须要建立一个启动类:

而后编写main函数:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

4.4.编写controller

接下来,咱们就能够像之前那样开发SpringMVC的项目了!

咱们编写一个controller:

代码:

@RestController
public class HelloController {

    @GetMapping("hello")
    public String hello(){
        return "hello, spring boot!";
    }
}

4.5Yaml配置文件

配置文件除了可使用application.properties类型,还可使用后缀名为: .yml 或者 .yaml的类型,也就是:application.yml或者application.yaml

Yaml是一种简洁的非标记语言。Yaml是以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。

基本格式:

#服务端口
server:
  port: 8080

若是两个配置文件都有,会把两个文件的配置合并,若是有重复属性,以Properties中的为准

4.6.启动测试

接下来,咱们运行main函数,查看控制台:

而且能够看到监听的端口信息:

  • 1)监听的端口是8080
  • 2)SpringMVC的映射路径是:/
  • 3)/hello路径已经映射到了HelloController中的hello()方法

打开页面访问:http://localhost:8080/hello

测试成功了!

相关文章
相关标签/搜索