文章目录

  • 1.1 官方文档
  • 1.1.1 官网
  • 1.1.2 学习文档
  • 1.1.3 离线文档: spring-boot-reference.pdf
  • 1.1.4 在线 API
  • 1.2 Spring Boot 是什么?
  • 1.3 SpringBoot 快速入门
  • 1.3.1 需求/图解说明
  • 1.3.2 完成步骤
  • 1.3.3 快速入门小结
  • 1.4 Spring SpringMVC SpringBoot 的关系
  • 1.4.1 梳理关系
  • 1.4.2 如何理解 约定优于配置



1.1 官方文档

1.1.1 官网

1.1.2 学习文档

1.1.3 离线文档: spring-boot-reference.pdf

1.1.4 在线 API

1.2 Spring Boot 是什么?

  • Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序
  • Spring Boot 直接嵌入 Tomcat、Jetty 或 Undertow,可以"直接运行" Spring Boot 应用程序

1.3 SpringBoot 快速入门

1.3.1 需求/图解说明

  • 构建一个 SpringBoot 项目
  • 浏览器发送/hello 请求 http://localhost:8080/hello
  • 响应 Hello,SpringBoot

springboot 返回本文文件内容 springboot返回string_springboot 返回本文文件内容

springboot 返回本文文件内容 springboot返回string_maven_02


1.3.2 完成步骤

  1. 确认开发环境是 jdk 8 或以上,maven 在 3.5+

springboot 返回本文文件内容 springboot返回string_spring boot_03

springboot 返回本文文件内容 springboot返回string_java_04

  1. 创建 maven 项目

springboot 返回本文文件内容 springboot返回string_java_05

springboot 返回本文文件内容 springboot返回string_maven_06

springboot 返回本文文件内容 springboot返回string_spring_07

  1. 在 D:\xjs_springboot\quickstart\pom.xml 引入 SpringBoot 父工程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>com.xjs</groupId>
    <artifactId>quickstart</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--导入springboot父工程-规定写法-->
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.5.3</version>
    </parent>

    <!--导入web项目场景启动器: 会自动导入和web开发相关的所有依赖[库/jar]-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>


</project>
  1. 创建 SpringBoot 应用主程序
    D:\xjs_springboot\quickstart\src\main\java\com\xjs\springboot\MainApp.java
package com.xjs.springboot;

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

/**
 * @Author: 谢家升
 * @Version: 1.0
 *
 * @SpringBootApplication : 表示这是一个 springboot应用/项目
 */
@SpringBootApplication
public class MainApp {
    public static void main(String[] args) {

        //启动springboot应用程序/项目
        SpringApplication.run(MainApp.class, args);

    }
}
  1. 创建 控制器 D:\xjs_springboot\quickstart\src\main\java\com\xjs\springboot\controller\HelloController.java
package com.xjs.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @Author: 谢家升
 * @Version: 1.0
 */
@Controller
public class HelloController {

    //返回hello,springboot
    @RequestMapping("/hello")
    @ResponseBody
    public String hello() {
        return "hello~, SpringBoot";
    }

}
  1. 运行 MainApp.java 完成测试,浏览器 http://localhost:8080/hello

springboot 返回本文文件内容 springboot返回string_java_08

springboot 返回本文文件内容 springboot返回string_spring boot_09


1.3.3 快速入门小结

  1. SpringBoot 比较传统的 SSM 开发, 简化整合步骤,提高开发效率
  2. 简化了 Maven 项目的 pom.xml 依赖导入,可以说是一键导入,如图

springboot 返回本文文件内容 springboot返回string_spring_10

  1. 引入一个 spring-boot-starter-web,到底发生了什么?

springboot 返回本文文件内容 springboot返回string_maven_11

springboot 返回本文文件内容 springboot返回string_spring boot_12

  1. 内置 Tomcat,简化服务器的配置
  2. 当然 SpringBoot 还有很多优势,后面逐步深入学习

1.4 Spring SpringMVC SpringBoot 的关系

1.4.1 梳理关系

  1. 他们的关系大概是:Spring Boot > Spring > Spring MVC
  2. Spring MVC 只是 Spring 处理 WEB 层请求的一个模块/组件,Spring MVC 的基石是 Servlet
  3. Spring 的核心是 IOC 和 AOP,IOC 提供了依赖注入的容器,AOP 解决了面向切面编程
  4. Spring Boot 是为了简化开发,推出的封神框架(约定优于配置[COC],简化了Spring 项目的配置流程),SpringBoot 包含很多组件/框架,Spring就是最核心的内容之一,也包含 SpringMVC
  5. Spring 家族,有众多衍生框架和组件例如 boot、security、jpa 等,他们的基础都是 Spring

1.4.2 如何理解 约定优于配置

  1. 约定优于配置 (Convention over Configuration/COC),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或框架中一些东西假定一个大众化合理的默认值 (缺省值)
  2. 例如在模型中存在一个名为 User 的类,那么对应到数据库会存在一个名为 user 的表,只有在偏离这个约定时才需要做相关的配置 (例如你想将表名命名为 t_user 等而非 user 时才需要写关于这个名字的配置)
  3. 简单来说就是假如你所期待的配置约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置
  4. 约定优于配置理念【解读:为什么要搞一个约定优于配置】
    ① 约定其实就是一种规范,遵循了规范,那么就存在通用性
    ② 存在通用性,那么事情就会变得相对简单,程序员之间的沟通成本会降低,工作效率会提升,合作也会变得更加简单
    ③ 生活中,这样的情况,大量存在…