Spring Boot介绍--快速入门--约定优于配置

文章目录

  • SpringBoot 基本介绍
    • 官方文档
    • Spring Boot 是什么?
    • SpringBoot 快速入门
      • 需求/图解说明
      • 完成步骤
      • 快速入门小结
    • Spring SpringMVC SpringBoot 的关系
      • 总结
        • 梳理关系
        • 如何理解-约定优于配置

SpringBoot 基本介绍

官方文档

官网: https://spring.io/projects/spring-boot
学习文档: https://docs.spring.io/spring-boot/docs/current/reference/html/
离线文档: spring-boot-reference.pdf
在线API: https://docs.spring.io/spring-boot/docs/current/api/

Spring Boot 是什么?

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

SpringBoot 快速入门

需求/图解说明

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

Spring Boot介绍--快速入门--约定优于配置_第1张图片

Spring Boot介绍--快速入门--约定优于配置_第2张图片

完成步骤

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

image-20230802164425378

image-20230802164457850

  1. 创建maven 项目

Spring Boot介绍--快速入门--约定优于配置_第3张图片

Spring Boot介绍--快速入门--约定优于配置_第4张图片

Spring Boot介绍--快速入门--约定优于配置_第5张图片

  1. 在quickstart\pom.xml 引入SpringBoot 父工程和web 项目场景启动器

    导入之后要记得刷新maven,可以点开maven查看他导入的相关依赖有哪些


<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.0modelVersion>

    <groupId>com.nlcgroupId>
    <artifactId>quickstartartifactId>
    <version>1.0-SNAPSHOTversion>

    
    <parent>
        <artifactId>spring-boot-starter-parentartifactId>
        <groupId>org.springframework.bootgroupId>
        <version>2.5.3version>
    parent>

    
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
    dependencies>
project>
  1. 创建quickstart\src\main\java\com\nlc\springboot\MainApp.javaSpringBoot 应用主程序
// @SpringBootApplication 表示这是一个springboot 应用
@SpringBootApplication
public class MainApp {
    public static void main(String[] args) {
        //启动SpringBoot 应用程序
        SpringApplication.run(MainApp.class, args);
    }
}
  1. 创建quickstart\src\main\java\com\nlc\springboot\controller\HelloController.java 控制器
@Controller
public class HiController {

    //返回hi,springboot
    @RequestMapping("/hi")
    @ResponseBody
    public String hi() {
        System.out.println("website-" + website);
        return "hi~, SpringBoot";
    }
}
  1. 运行MainApp.java 完成测试, 浏览器http://localhost:8080/hi

快速入门小结

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

  1. 引入一个spring-boot-starter-web, 到底做了什么?SpringBoot依靠maven依赖的传递性把jar包引入。查看类图

Spring Boot介绍--快速入门--约定优于配置_第6张图片

  1. 内置Tomcat , 把Tomcat 当作一个主键直接引入,简化服务器的配置
  2. 当然SpringBoot 还有很多优势,后面会逐步深入讲解

Spring SpringMVC SpringBoot 的关系

总结

梳理关系

  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 就是最核心的内容之一,也包含Spring MVC
  5. Spring 家族,有众多衍生框架和组件例如boot、security、jpa 等, 他们的基础都是Spring

如何理解-约定优于配置

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

生活中,这样的情况,大量存在…就比如周一到周五上班,周末休息,不用周六特意打电话给上级请假,因为理论上这是一个约定俗成的事情,周六周日就是休息时间。

5、约定优于配置不是说约定的优先级高,意思是如果你没有配置,就以约定的为准;配置了,就按照配置的来 。Convention over Configuration只是翻译过来是约定优于配置,它是从规范性、通用性以及提升工作效率这方面来理解的。

6、可以这么理解,如果大家遵守了约定,开发效率就会提升。如果自己需要配置就直接配置,以配置的为准。

Configuration只是翻译过来是约定优于配置,它是从规范性、通用性以及提升工作效率这方面来理解的。

6、可以这么理解,如果大家遵守了约定,开发效率就会提升。如果自己需要配置就直接配置,以配置的为准。

你可能感兴趣的:(SpringBoot,spring,boot,后端,java)