第一个SpringBoot程序

第一个SpringBoot程序

目录介绍

当我们创建了一个SpringBoot项目之后,会出现如下的目录结构

image-20240614230128229

SpringBoot项⽬有两个主要的⽬录:

  • src/main/java: Java源代码

  • src/main/resources:为静态资源或配置⽂件:

    • /static:静态资源⽂件夹,⽐如前期学的js,css,html等静态⽂件,不需要服务器数据进⾏绑定的 ⻚⾯
    • /templates:模版资源⽂件夹,主要存放动态模板⽂件,⽐如JSP,Freemarker,Thymeleaf等需 要服务器动态渲染数据的⽂件
  • src/test/java:测试代码源代码

  • target:编译后的⽂件路径

  • pom.xml:maven配置⽂件

运行项目

image-20240614230308725

点击启动类的main⽅法就可以运⾏SpringBoot项⽬了,启动成功如下图所⽰:

image-20240614230316242

输出Helloworld

⽤Spring Boot来实现和浏览器及⽤⼾的交互。

在创建的项⽬包路径下创建UserController⽂件,实现代码如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
     @RequestMapping("/sayHi")
     public String sayHi(){
         return "hello,Spring";
     }
}

重新启动项⽬,访问http://127.0.0.1:8080/sayHi最终效果如下:

image-20240614230427635

Web服务器

浏览器和服务器两端进⾏数据交互,使⽤的就是HTTP协议

image-20240614230444183

HTTP协议就是HTTP客⼾端和HTTP服务器之间的交互数据 的格式.

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

常⻅的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等

SpringBoot内置了Tomcat服务器,⽆需配置即可直接运⾏

image-20240614230521760

Tocmat默认端⼝号是8080,所以我们程序访问时的端⼝号也是8080

请求响应流程分析

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

服务器

image-20240614230555200浏览器

  • 输⼊⽹址:http://127.0.0.1:8080/hello

    • 通过IP地址127.0.0.1定位到⽹络上的⼀台计算机,127.0.0.1就是本机
    • 通过端⼝号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运⾏的8080端⼝的 程序
    • /user/sayhi是请求资源位置
      • 资源:对计算机⽽⾔资源就是数据
      • web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据)

    http://127.0.0.1:8080/user/sayhi,就是向本地计算机中的8080端⼝程序,获取资源位置 是/user/sayhi的数据

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

服务器:

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

创建访问错误:

  • 4xx的状态码表⽰路径不存在,往往需要检查URL是否正确,和代码中设定的ContextPath以及 ServletPath是否⼀致.

  • 5xx的状态码表⽰服务器出现错误,往往需要观察⻚⾯提⽰的内容和Tomcat⾃⾝的⽇志,观察是否 存在报错.

  • 出现连接失败往往意味着服务没有正确启动,也需要观察服务的⾃⾝⽇志是否有错误提⽰.

学习框架一定要多动手,积累经验,积累熟练度

总结

SpringBoot是为了快速开发Spring⽽诞⽣的,SpringBoot具备:

  • SpringBoot提供了启动添加依赖的功能,可以快速集成框架.
  • 内置web服务器,⽆需配置Tomcat等Web服务器,直接运⾏和部署程序.
  • 可以完全抛弃繁琐的XML,使⽤注解和配置的⽅式进⾏开发.
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点.

成框架.

  • 内置web服务器,⽆需配置Tomcat等Web服务器,直接运⾏和部署程序.
  • 可以完全抛弃繁琐的XML,使⽤注解和配置的⽅式进⾏开发.
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点.

SpringBoot可使⽤Idea或⽹⻚创建,它的设计思想是约定⼤于配置,类上标注 @SpringBootApplication就可以启动SpringBoot项⽬了.

相关推荐

  1. 开发第一SpringBoot程序

    2024-06-15 18:30:03       60 阅读
  2. 第一Rust程序

    2024-06-15 18:30:03       26 阅读
  3. 创建第一SpringBoot项目

    2024-06-15 18:30:03       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 18:30:03       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 18:30:03       97 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 18:30:03       78 阅读
  4. Python语言-面向对象

    2024-06-15 18:30:03       88 阅读

热门阅读

  1. ubuntu设置GPU功率

    2024-06-15 18:30:03       31 阅读
  2. MatLab中无穷量和非数值量

    2024-06-15 18:30:03       34 阅读
  3. 网络安全练气篇——常见服务端口对应漏洞

    2024-06-15 18:30:03       32 阅读
  4. postman接口测试工具详解

    2024-06-15 18:30:03       33 阅读
  5. C语言运算类型有哪些

    2024-06-15 18:30:03       29 阅读
  6. 【Redis】为什么是单线程?为什么这么快呢?

    2024-06-15 18:30:03       29 阅读
  7. 小程序的生命周期以及页面生命周期

    2024-06-15 18:30:03       31 阅读
  8. mysql容器问题mbind: Operation not permitted

    2024-06-15 18:30:03       34 阅读
  9. NFS网络文件存储入门

    2024-06-15 18:30:03       50 阅读
  10. 小甲鱼——字典

    2024-06-15 18:30:03       30 阅读
  11. Scrapy与MongoDB的异步数据存储

    2024-06-15 18:30:03       38 阅读
  12. k8s及etcd的每日自动备份及故障时的还原脚本

    2024-06-15 18:30:03       37 阅读
  13. Android中球体碰撞代码分享-kotlin,入门版

    2024-06-15 18:30:03       30 阅读
  14. Non-zero exit code pycharm

    2024-06-15 18:30:03       36 阅读