SpringBoot基本介绍

1.SpringBoot是什么?

官网地址:https://spring.io/projects/spring-boot

学习文档:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference

在线API:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/api/

  1. SpringBoot可以轻松创建独立的,生产级的,基于Spring的应用程序
  2. SpringBoot直接嵌入Tomcat,Jetty或Undertow,可以“直接运行”SpringBoot应用程序

2.SpringBoot快速入门

需求分析:构建一个SpringBoot项目,浏览器发送请求,项目响应。

(1)确认开发环境是jdk8以上,maven在3.5+

(2)创建maven项目:File-->New-->Project-->Maven


(3)在项目的pom.xml文件中引入SpringBoot父工程和web项目场景启动器

<!--导入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>

(4)在src/main/java/com/li/springboot目录下创建一个MainApp类

package com.li.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);
}
}

(5)src/main/java/com/li/springboot/controller目录下创建控制器HelloController

package com.li.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 {
//写一个方法,返回提示
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello,SpringBoot!";
}
}

(6)点击运行MainApp.java的main方法

(7)在浏览器成功访问到映射的url

2.1快速入门小结

  1. SpringBoot相比于传统的SSM开发,简化了大量的整合步骤,提高了开发效率

  2. 简化了Maven项目的pom.xml依赖导入,可以说是一键导入

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

    下面是项目maven管理的依赖关系图:

3.Spring、SpringMVC、SpringBoot的关系

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

3.1如何理解约定优于配置?

  1. 约定优于配置(Convention over Configuration,COC),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或框架中一些东西假定一个大众化、合理化的默认值(缺省值)

    • 例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你想将表命名为t_user而非user时才需要写关于此名字的配置)

    • 简单地说就是,假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置

    • 注意,约定优于配置的意思不是约定的优先级高于配置的优先级!

  2. 为什么搞一个约定优于配置理念?

    约定其实就是一种规范,遵循了规范,那么就存在通用性,存在通用性,事情就会变得相对简单,程序员之间的沟通成本会降低,工作效率会提升,合作也会变得更加简单。

day01-SpringBoot基本介绍的更多相关文章

  1. springboot简单介绍

    1.springboot简单介绍 微服务架构 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方 ...

  2. SpringBoot配置介绍

    SpringBoot配置介绍 SpringBoot如何进行配置 在SpringBoot中默认使用Servlet3.0可以没有web.xml,没有任何的xml,我们想要做一些自定义配置,比u数据库相关信 ...

  3. springboot入门介绍

    1. SpringBoot学习之@SpringBootApplication注解 下面是我们经常见到SpringBoot启动类代码: @SpringBootApplicationpublic clas ...

  4. SpringBoot简要介绍

    一 SpringBoot介绍 1.1 先从Spring谈起 我们知道Spring是重量级企业开发框架 Enterprise JavaBean(EJB) 的替代品,Spring为企业级Java开发提供了 ...

  5. Day01 - Python 基础介绍

    1 Python 简介 1.1 Python 的由来 Python的创始人:吉多·范罗苏姆(Guido van Rossum) 1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个 ...

  6. springboot整体介绍

    1.springboot:快速开发,强大的运维能力.(监控,服务发现,并打) 2.微服务,将一个大系统分解成很多独立的小服务,这些服务能随时发布. 3.2004年第一版spring 1.0,rod j ...

  7. SpringBoot AOP介绍

    说起spring,我们知道其最核心的两个功能就是AOP(面向切面)和IOC(控制反转),这边文章来总结一下SpringBoot如何整合使用AOP. 一.示例应用场景:对所有的web请求做切面来记录日志 ...

  8. SpringBoot初步介绍及安装

    SpringBoot的四个核心: 自动配置: 起步依赖: 命令行界面: Actuator: SpringBoot的web起步依赖:org.springframework.boot:spring-boo ...

  9. day01 python起源 介绍 解释器 变量 流程控制if

    day01 python   一.python的起源     1.python简介     java 企业级应用, android, app     c 操作系统, 做开发语言的, 游戏的内核     ...

  10. SpringBoot 简单介绍

    一.springboot是啥? 1.什么是springboot? 1.1springboot是spring生态圈的一个轻量级框架,换句话说springboot就是spring,是spring的一个衍生 ...

随机推荐

  1. 苹果iOS 17正式版来了:iPhone X/8系列等机型无缘

    据媒体报道,苹果会在9月13日凌晨1点发布iPhone 15系列新品,该机出厂预装iOS 17正式版系统. 在iPhone 15系列之后,苹果会向老机型推送iOS 17正式版更新.据爆料,苹果将会在9 ...

  2. 基数排序|RadixSort|C++实现

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量干货博客汇总https://blog. ...

  3. 如果在循环中不改变vector的大小,C++编译器是否会将.size()优化为常数?

      在C++中,可以使用以下代码计算vector<int>中所有元素的和: vector<int> v = {1, 3, 7, 9}; sums = 0; for (int i ...

  4. Dijkstra实现单源最短路

    Dijkstra算法求单源最短路 Dijkstra算法应用于求一个给定图的单个源点到其他各顶点的最短路.其中应用Dijkstra算法的图应满足如下条件 图中没有负权边 有向或者无向图都可以 图中若有自 ...

  5. 【CAS学习二】CAS部署和联调

    上一篇写到服务端部署的是CAS 6.4版本,可后面与客户端集成时出现未认证授权的服务,如下: 网上查了下,要把http的访问打开.具体设置步骤是:修:%Tomcat%\webapps\cas\WEB- ...

  6. [Kafka]Kafka学习 -- 初识Kafka

    Kafka学习 -- 初识Kafka 参考资料:稀土掘金<图解Kafka之实战指南>https://juejin.cn/book/6844733793220165639 Kafka是一个多 ...

  7. [Java][并发编程]AQS以及其相关同步器的源码解析

    AQS以及其相关同步器的源码解析 概念 AQS(AbstractQueuedSynchronizer)抽象的队列同步器.是用来构建锁或者其他同步器组件的重量级基础框架以及整个JUC体系的基石.通过内置 ...

  8. LGV引理

    LGV引理是用来统计DAG中固定若干起点和终点情况下的选择不相交链的方案数的. 同样用来优化计数问题,但是比Pólya定理友好多了,这也就是为什么它能够被直接糊到NOI考场上. 对于一张DAG,每条边 ...

  9. react 聊聊setState异步背后的原理,react如何感知setState下的同步与异步?

    壹 ❀ 引 在react中的setState是同步还是异步?react为什么要将其设计成异步?一文中,我们介绍了setState同步异步问题,解释了何种情况下同步与异步,异步带来了什么好处,以及rea ...

  10. NC17508 指纹锁

    题目链接 题目 题目描述 ​ HA实验有一套非常严密的安全保障体系,在HA实验基地的大门,有一个指纹锁. ​ 该指纹锁的加密算法会把一个指纹转化为一个不超过1e7的数字,两个指纹数值之差越小,就说明两 ...