文章目录
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
1.3.2 完成步骤
- 确认开发环境是 jdk 8 或以上,maven 在 3.5+
- 创建 maven 项目
- 在 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>
- 创建 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);
}
}
- 创建 控制器 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";
}
}
- 运行 MainApp.java 完成测试,浏览器 http://localhost:8080/hello
1.3.3 快速入门小结
- SpringBoot 比较传统的 SSM 开发, 简化整合步骤,提高开发效率
- 简化了 Maven 项目的 pom.xml 依赖导入,可以说是一键导入,如图
- 引入一个 spring-boot-starter-web,到底发生了什么?
- 内置 Tomcat,简化服务器的配置
- 当然 SpringBoot 还有很多优势,后面逐步深入学习
1.4 Spring SpringMVC SpringBoot 的关系
1.4.1 梳理关系
- 他们的关系大概是:Spring Boot > Spring > Spring MVC
- Spring MVC 只是 Spring 处理 WEB 层请求的一个模块/组件,Spring MVC 的基石是 Servlet
- Spring 的核心是 IOC 和 AOP,IOC 提供了依赖注入的容器,AOP 解决了面向切面编程
- Spring Boot 是为了简化开发,推出的封神框架(约定优于配置[COC],简化了Spring 项目的配置流程),SpringBoot 包含很多组件/框架,Spring就是最核心的内容之一,也包含 SpringMVC
- Spring 家族,有众多衍生框架和组件例如 boot、security、jpa 等,他们的基础都是 Spring
1.4.2 如何理解 约定优于配置
-
约定优于配置 (Convention over Configuration/COC),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或框架中一些东西假定一个大众化合理的默认值 (缺省值)
-
例如在模型中存在一个名为 User 的类,那么对应到数据库会存在一个名为 user 的表,只有在偏离这个约定时才需要做相关的配置 (例如你想将表名命名为 t_user 等而非 user 时才需要写关于这个名字的配置)
-
简单来说就是假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置
-
约定优于配置理念【解读:为什么要搞一个约定优于配置】
① 约定其实就是一种规范,遵循了规范,那么就存在通用性
② 存在通用性,那么事情就会变得相对简单,程序员之间的沟通成本会降低,工作效率会提升,合作也会变得更加简单
③ 生活中,这样的情况,大量存在…