一篇文章带你掌握主流办公框架——SpringBoot

一篇文章带你掌握主流办公框架——SpringBoot

在之前的文章中我们已经学习了SSM的全部内容以及相关整合

SSM是Spring的产品,主要用来简化开发,但我们现在所介绍的这款框架——SpringBoot,却是用来简化Spring开发的框架

SpringBoot是由Pivowtal团队提供的全新框架,其设计目的就是用来简化Spring应用的初始搭建以及开发过程,用来简化开发工具的工具,你是否已经满怀期待~

温馨提醒:在学习前请学习SSM内容以及Maven的高阶内容(依赖传递)等内容

SpringBoot简介

SpringBoot是由Pivotal团队提供的全新框架,其设计目的就是用来简化Spring应用的初始搭建以及开发过程

SpringBoot概述

SpringBoot是针对Spring的繁琐过程进行优化而产生的框架

Spring程序缺点:

  • 配置繁琐
  • 依赖设置繁琐

SpringBoot程序优点:

  • 自动配置
  • 起步依赖(简化依赖配置)
  • 辅助功能(内置服务器等)

SpringBoot项目开发

我们通过一个简单的SpringBoot案例和SSM案例的比较来展现SpringBoot的优势

SSM框架构造

首先我们回忆一下SSM框架的基本构造图:

一篇文章带你掌握主流办公框架——SpringBoot插图

我们来总结一些SSM框架必备的一些文档:

  1. pom.xml配置文档
  2. ServletConfig配置Java类
  3. SpringMvcConfig配置Java类
  4. Collector服务层Java文档

SpringBoot框架构造

相对而言,我们的SpringBoot将SSM的框架内容隐藏起来,达到简化框架的作用

我们下面来介绍创建一个SpringBoot框架的具体步骤:

  1. IDEA创建新项目,选择SpringBoot框架,JDK选择1.8版本(Default默认在网页下载,需要联网)

一篇文章带你掌握主流办公框架——SpringBoot插图1

  1. 选择Maven,Java,jar等相关选项,注意选择Java8(目前SpringBoot只支持Java8的版本)

一篇文章带你掌握主流办公框架——SpringBoot插图2

  1. 选择Web中的SpringWeb,确保右侧存在Spring Web选项(上方可选择SpringBoot版本)

一篇文章带你掌握主流办公框架——SpringBoot插图3

  1. 创建项目即可

一篇文章带你掌握主流办公框架——SpringBoot插图4

  1. 删除无关项目,只保留src和pom.xml即可

一篇文章带你掌握主流办公框架——SpringBoot插图5

  1. 我们仅需书写一个Collector相关类即可
package com.itheima.controller;

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

@RestController
@RequestMapping("/books")
public class BookController {

    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("id ==> "+id);
        return "hello , spring boot!";
    }

}
  1. 点击启动Application.java文件即可(由系统自动创建)
package com.itheima;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

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

}

以上至此,我们的SpringBoot项目就开发完毕了

除此之外,我们的SpringBoot的核心内容实际上存在于pom.xml中,我们会在下述内容中进行介绍



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.5.0
    

    com.itheima
    springboot_01_quickstart
    0.0.1-SNAPSHOT

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


我们会发现需要我们书写代码的部分仅仅只有Collector这一部分,相比于SSM框架简化了并非一点点

SSM框架与SpringBoot框架比较

我们将SSM框架与SpringBoot框架进行简单的对比:

类/配置文件 Spring SpringBoot
pom文件中的坐标 手工添加 勾选添加
web3.0配置类 手工添加
Spring/SpringMvc配置类 手工添加
控制器 手工添加 手工添加

我们可以明显比较出两者的显著差距!

注意:基于IDEA开发的SpringBoot框架需要联网到SpringBoot官网加载程序框架结构

非IDEA进行SpringBoot开发

我们在实际工作中,可能使用的开发工具并非只有IDEA

那么IDEA中存在有SpringBoot的开发架构,其他不包含SpringBoot开发架构选项的软件就无法开发了吗?

我们可以选择到官网进行jar包下载直接导入开发即可:

  1. 打开官网(官网地址:Spring Boot

一篇文章带你掌握主流办公框架——SpringBoot插图6

  1. 拉至页面底部,找到快速开发标志,点击进入创建界面

一篇文章带你掌握主流办公框架——SpringBoot插图7

  1. 勾选相对应图标,点击创建即可

一篇文章带你掌握主流办公框架——SpringBoot插图8

  1. 创建后会自动下载jar包,直接导入所用软件即可

一篇文章带你掌握主流办公框架——SpringBoot插图9

SpringBoot快速启动

我们在实际开发中,常常会做到前后端分离开发

那么我们的SpringBoot中所使用的服务器或开发软件等是否还需要交付给前端呢

SpringBoot为我们提供了一种全新的服务器开启方法,我们只需要将SpringBoot打包后交付给前端,前端就可直接进行开启

  1. 项目打包

一篇文章带你掌握主流办公框架——SpringBoot插图10

  1. 打包后在当前页面采用cmd命令行输入以下指令即可直接开启服务器(注意需要在该jar包的文件夹目录下)
java -jar SpringBoot文件包名.jar(可tab键补全)

注意点:

  1. 我们需要将所需的数据库信息交付给前端,因为SpringBoot只负责项目的开启,与数据库无关
  2. 该方法是由一种pom.xml中的插件支持的,请确保存在该插件(SpringBoot自动创建)
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

SpringBoot起步依赖

在简单介绍SpringBoot的项目开发之后,你是否有疑惑为什么SpringBoot能够省略如此多的信息来直接开发

其实这一切都是源于SpringBoot的依赖的直接创建,我们称之为起步依赖:

  • parent起步依赖继承
  • starter起步依赖继承

我们给出部分pom.xml配置文件内部进行分析:



    4.0.0