第⼀个SpringBoot程序

1. Spring Boot介绍

1.1 认识Spring

        在学习SpringBoot之前, 我们先来认识⼀下Spring 我们看下Spring官⽅(Spring | Home)的介绍

        Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单性和⽣产⼒的关注使其成为 世界上最流⾏的Java框架。

        Spring官⽅提供了很多开源的项⽬, 覆盖范围从Web开发到⼤数据, Spring发展到了今天, 已经形成了⾃ ⼰的⽣态圈. 我们在开发时, 也倾向于使⽤Spring官⽅提供的技术, 来解决对应的问题 

        上图所示的项⽬都是基于Spring Framework来进⾏开发的, 但是Spring Framework存在配置多, ⼊⻔难的问 题, Spring 也意识到了这个问题, 为了简化开发者的使⽤, 从⽽创造性的推出了SpringBoot

1.2 什么是Spring Boot.

        Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 Spring Boot 翻译⼀下就是 Spring 脚⼿架。它是为了快速开发 Spring 框架⽽诞⽣的;

2. Spring Boot 项⽬创建

        使⽤专业版Idea不需要安装插件, Idea已经集成了;创建Spring Boot项目的方式有很多,比如用IDEA、官网、阿里云、只创建个空的mave项目等等。

2.1 使用IDEA创建

        File -> New ->Project:

点击Next,进入下图界面:

说明:

1、SpringBoot版本,选择3.X的即可,这个版本会随着SpringBoot的升级而发生变化,是不固定的。3.X版本使用的是jdk17,3.X以下使用的是jdk8。

2、打钩的表示创建项目之初,就引入的第三方依赖(框架、插件、组件........)。

 点击Create,创建项目,进入下图界面。根据自己的java版本选择合适的spring boot版本,即修改pom.xml文件。如下:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.17</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>zxslzw2014_8_11</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>zxslzw2014_8_11</name>
    <description>zxslzw2014_8_11</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

点击刷新,如下:

如上图所示,就是创建好了一个spring boot项目;

注意:

        第一次打开Spring Boot项目需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。为了加速Spring Boot项目的下载,在打开项目之前,需要在自己的Maven配置好国内源,也就是本地仓库的 .xml 文件,添加一些内容,配置国内源;

 2.2 官网创建

(略)

2.3 阿里云创建

(略)

3. 项目代码和目录介绍

         pom.xml文件里的具体信息,我们主要看<dependencies>标签里的内容,里面引入了两个依赖:

spring-boot-starter-web:包含了web应用开发所需要的常见依赖。

spring-boot-starter-test:包含了单元测试所需要的常见依赖

3.1 父工程

        下面这个依赖没有引入,但jar包也也正常引入到项目了,如图:

        我们来看看本地仓库的的jar包是否下载下来了呢? 

        如上图所示,本地仓库的的jar包也下载下来了. 为什么没有指定 , 程序也可以正常运⾏呢?

          因为每一个SpringBoot工程,都有一个父工程。而这里所依赖的版本号,父工程会统一进行管理。父工程指定版本号后,就会自动引入和指定版本对应的依赖,创建的SpringBoot项目,会继承SpringBoot父工程。

3.2 目录介绍 

        

 Spring Boot项目的目录如下说明:

src/main/java:Java 源代码。

src/main/resources:静态资源或配置文件。

/static:静态资源文件夹,比如前面学的js、css、html等静态文件,不需要服务器数据进行绑定的页面。

/templates:模版资源文件夹,主要存放动态模版文件,比如:JSP,Freemarker,Thymeleaf:等需要服务器动态渲染数据的文件。

src/test/java:测试的源代码。

target:编译后的文件路径。

pom.xml:Maven的配置文件。

4. 运行项目

4.1 打开文件

        打开java文件下面的class文件,如图:

等待服务器响应,出现如下的结果,说明我们的spring boot项目启动成功了;

 4.2 输出hello 仲夏是荔枝味!

        代码如下:

package com.example.zxslzw2014_8_11;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Hello {
    @RequestMapping("/hello")
    public String hello(){
        return "hello,仲夏是荔枝味!";
    }
}

        运行我们服务器上的代码,打开浏览器搜索我们的相对路径:127.0.0.1:8080/hello,结果页面显示如下:

 4.3 Web服务器

        浏览器和服务器两端进⾏数据交互, 使⽤的就是HTTP协议,如下图所示:

        我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据 的格式.

        Web 服务器就是对HTTP协议进⾏封装, 程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议 规则),让Web开发更加便捷, 所以Web服务器也被称为WWW服务器, HTTP服务器, 主要功能是提供⽹ 上信息浏览服务.

        常⻅的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等 。 Spring Boot内置了Tomcat服务器,无需配置即可直接运行,如图: 

        Tomcat默认端口号是:8080,我们也能在任务管理器观察这个进程,先去cmd(指令:netstat -ano|findstr 8080)上查找8080的进程号,如图: 

        这个就是我们刚才写的程序,还在运行。我们在浏览器输入的URL,访问的也就是这个进程。 

4.3 请求响应流程分析

        浏览器输⼊URL之后, 发起请求, 就和服务器之间建⽴了连接,如下图:

         浏览器输入完网址:http://127.0.0.1:8080/hello,就是向本地计算机中的8080端口程序中,在 /hello 资源位置获取数据,进行发送请求。8080端口程序接受到请求后,在 /hello 位置找到数据,发送给浏览器,详细分析如下:

        浏览器

1、输入网址:http://127.0.0.1:8080/hello

2、通过 127.0.0.1 定位网络上的一台计算机,这里的IP地址指的是本机。

3、通过端口号 8080 找到计算机对应的进程,也就是本机正在运行的8080端口号程序。

4、通过/hello 找到请求的资源位置。(资源:对计算机来说就是数据;Web资源:通过网络可以访问到的资源,通常指服务器上的数据) 

        服务器:

1、接收到浏览器发送的信息(如:/hello)。

2、在服务器上找到 /hello的资源。

3、把资源发送给浏览器。

ps:本次的内容就到这里了,如果对你有所帮助的话,就请一键三连哦!!!

本文的封面来自:bilibili苏杉杉的pv,侵权删https://www.bilibili.com/video/BV1vo4y167eh/?spm_id_from=333.999.0.0&vd_source=866da5be2ef0ddd213b053523da53138

电子签名:上嘉路

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值