Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

一、为何选择SpringBoot

     众所周知,后端框架有许多,比如说在之前学习javaweb时候的struts2,以及spring框架,还有python后端的Django框架,以及我们今天要用的SpringBoot框架。

    既然有如此多的后端框架,为什么我们选择的是SpringBoot呢,下面将告诉你SpringBoot的优点。

SpringBoot的优点有:

  1. 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
  2. 内嵌Tomcat或Jetty等Servlet容器;
  3. 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
  4. 尽可能自动配置Spring容器;
  5. 提供准备好的特性,如指标、健康检查和外部化配置;
  6. 绝对没有代码生成,不需要XML配置。

    所以之前用过其它框架的同学在用SpringBoot后就会发现不需要其它的许多配置,让我们更加关注我们自身的业务代码。

    那么,话不多说,用代码来让你们感受一下。

二、项目的创建

     首先打开我们的idea集成开发环境,我用的是idea2019,下面是它的启动界面

后端框架SpringBoot入门_jar包

     然后新建立一个SpringBoot项目

后端框架SpringBoot入门_jar包_02

     接着填写项目的名称,其实需要填写的就是Group和Artifact,那这两个是什么意思呢,其实我们观察下可以发现我们的包的名称其实就是Group+Artifact的名称,在实际开发中有GroupId和ArtifactId这个是Maven用来管理包时作为区分的字段,就像地图上的坐标一样。假设你有一个域名叫baidu.com,那么你想在这个域名下做一个项目,这个项目的名称叫hello,那么Group就是com.baidu,域名反过来写,而Artifact就是叫hello。自然写完这两个你的包名(Package)自然就叫com.baidu.hello。点击Next进入下一步

后端框架SpringBoot入门_spring_03

    选择Web,勾选SpringWeb,这里显示的版本是2.1.9,我们点击Next

后端框架SpringBoot入门_spring_04

    点击finish,我们完成项目的创建,然后等待项目的初始化,项目构建成功

后端框架SpringBoot入门_spring_05

三、项目目录结构介绍

     在介绍项目的目录结构之前,我先介绍几个概念。

  • Maven仓库

     在我们之前学习JavaWeb的时候,当我们需要相关的jar包的时候我们就会去相关的网    站上把我们需要的包给下载下来,然后把需要用到的jar包放在我们的WebRoot目录下WEB-INF目录下的lib文件夹当中。这种方式我们要自己去找相关的依赖包,然后下载下来,放到指定的位置。这样显得比较麻烦,而且浪费时间。

    但是有了Maven仓库之后,这一切就变得方便许多,我们只需要在pom.xml下写上相关的依赖,比如说我需要连接mysql数据库的jar包,那么,我们就需要去pom.xml写这个jar的名称,版本,写好了之后我们的maven工具就会自动的去下载我们需要的jar包,就不需要我们去一个一个找了,这样方便了许多。

  • Git

     Git是一个版本控制工具和我们所熟知的GitHub是不一样的,那么这个版本控制工具有什么作用呢?我们在开发项目的时候并不是一个人在开发,而是多人协作共同开发(虽然我们致力于做全栈高手),那么一个项目分为许多模块,而且模块之间是有联系的,那这样就无法实现协同开发。但是Git就是能够让你协同开发的一个工具,它能够在你的项目出问题后回退到你之前提交的任何一个版本。它能够实现多人协同开发,比如说,一个项目由A、B、C三个人开发,项目创建好之后A、B、C分别fork这个项目之后就可以写自己的部分,写完之后push过去,当有文件冲突的时候通过git的方式解决。Git的使用我推荐看廖雪峰的Git教程。

     好了,介绍完上面的概念之后,我们来开始介绍项目的目录结构。

     在我们的项目目录里,src下的main文件夹下放着两个文件夹,一个文件夹是java文件夹,另外一个文件夹是resources文件夹。resources文件夹用来放固定的文件,比如说图片文件、html文件,Thymeleaf模板文件等。然后就是java文件夹下放的就是我们源码,在这里由于我的命名是com.baidu.hello,所以包的名字就是com.baidu.hello。然后就是Test文件夹下的java文件夹,这里可以进行单元测试,然后就是根目录下的一些文件。

后端框架SpringBoot入门_spring_06


四、编写代码

     首先在pom.xml文件里添加Thymeleaf的依赖,如下:

<dependency>
    <groupId>org.spring.framework.boot </groupId>
    <artifactId>spring-boot-starter-thymeleaf </artifactId>
</dependency>

     然后在com.baidu.hello下面新建一个叫做Controller的包,然后在这个包里面新建一个HelloController的类,并写下注解,代码如下:

package com.baidu.hello.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 2019.10.9
 */
@Controller
public  class HelloController{
     @GetMapping( "/hello")
     public void hello(@RequestParam(name="name"){
        model.addAttribute( "name",name);
    }
}


     然后我们还要在resources文件夹下的templates文件夹下创建hello.html,代码如下:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
     <meta charset="UTF-8">
     <title>Hello World </title>
</head>
<body>
     <p th:text="'Hello,' + ${name} + '!'"/>
</body>
</html>

后端框架SpringBoot入门_spring_07