SpringBoot基础

43 阅读3分钟

在没有正式的学习SpringBoot之前,我们要先来了解下什么是Spring。

我们可以打开Spring的官网(spring.io),去看一下Spring的简介:Spring makes Java simple。

图片.png

Spring的官方提供很多开源的项目,我们可以点击上面的projects,看到spring家族旗下的项目,按照流行程度排序为:

图片.png

Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。而我们在项目开发时,一般会偏向于选择这一套spring家族的技术,来解决对应领域的问题,那我们称这一套技术为spring全家桶

而Spring家族旗下这么多的技术,最基础、最核心的是 SpringFramework。其他的spring家族的技术,都是基于SpringFramework的,SpringFramework中提供很多实用功能,如:依赖注入、事务管理、web开发支持、数据访问、消息服务等等。

image-20220617224427947.png 而如果我们在项目中,直接基于SpringFramework进行开发,存在两个问题:配置繁琐、入门难度大。

image-20220823185227296.png

所以基于此呢,spring官方推荐我们从另外一个项目开始学习,那就是目前最火爆的SpringBoot。

通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :

  • 简化配置
  • 快速开发

Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。

接下来,我们就直接通过一个SpringBoot的web入门程序,让大家快速感受一下,基于SpringBoot进行Web开发的便捷性。

1. SpringBootWeb快速入门

1.1 需求

需求:基于SpringBoot的方式开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串 “Hello World ~”。

image-20220823191003444.png

1.2 开发步骤

第1步:创建SpringBoot工程项目

第2步:定义HelloController类,添加方法hello,并添加注解

第3步:测试运行

1.2.1 创建SpringBoot工程(需要联网)

基于Spring官方骨架,创建SpringBoot工程。

图片.png

基本信息描述完毕之后,勾选web开发相关依赖。

图片.png

点击Create之后,就会联网创建这个SpringBoot工程,创建好之后,结构如下:

  • 注意:在联网创建过程中,会下载相关资源(请耐心等待)
  • 图片.png

1.2.2 定义请求处理类

在com.yantong这个包下创建一个子包controller

然后在controller包下新建一个类:HelloController

图片.png


package com.yantong.controller;  
  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
/**  
* @Author 烔  
* @date 2024/10/12  
* @Description  
*/
@RestController  
public class HelloController {  
  
    @RequestMapping("hello")  
    public String hello(){  
        System.out.println("Hello World!!");  
        return "Hello World ~";  
    }  
}

1.2.3 运行测试

运行SpringBoot自动生成的引导类

图片.png

打开浏览器,输入 http://localhost:8080/hello

图片.png

1.3 Web分析

image-20221201224603497.png

浏览器:

  • 输入网址:http://192.168.100.11:8080/hello

    • 通过IP地址192.168.100.11定位到网络上的一台计算机

      我们之前在浏览器中输入的localhost,就是127.0.0.1(本机)

    • 通过端口号8080找到计算机上运行的程序

      localhost:8080 , 意思是在本地计算机中找到正在运行的8080端口的程序

    • /hello是请求资源位置

      • 资源:对计算机而言资源就是数据

        • web资源:通过网络可以访问到的资源(通常是指存放在服务器上的数据)

      localhost:8080/hello ,意思是向本地计算机中的8080端口程序,获取资源位置是/hello的数据

      • 8080端口程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:(可以理解为ServerSocket)

  • 接收到浏览器发送的信息(如:/hello)
  • 在服务器上找到/hello的资源
  • 把资源发送给浏览器

网络三要素:

  • IP :网络中计算机的唯一标识
  • 端口 :计算机中运行程序的唯一标识
  • 协议 :网络中计算机之间交互的规则

问题:浏览器和服务器两端进行数据交互,使用什么协议?

答案:http协议