第一个SpringBoot程序

第一个SpringBoot程序

目录介绍

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

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

  • src/main/java: Java源代码

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

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

  • target:编译后的⽂件路径

  • pom.xml:maven配置⽂件

运行项目

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

输出Helloworld

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

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

Java 复制代码
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最终效果如下:

Web服务器

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

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

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

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

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

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

请求响应流程分析

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

服务器

浏览器

服务器:

  • 接收到浏览器发送的信息(如:/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项⽬了.

相关推荐
why技术15 分钟前
可以说是一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
后端·面试
m0_7482546619 分钟前
定时任务特辑 Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战
java·spring boot·后端
海边漫步者33 分钟前
Idea2024中搭建JavaFX开发环境并创建运行项目
java·intellij-idea·javafx
diemeng111939 分钟前
2024系统编程语言风云变幻:Rust持续领跑,Zig与Ada异军突起
开发语言·前端·后端·rust
Warren9843 分钟前
Springboot中分析SQL性能的两种方式
java·spring boot·后端·sql·mysql·intellij-idea
Distance失落心2 小时前
idea任意版本的安装
java·ide·java-ee·eclipse·intellij-idea
Aphelios3802 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(下)
java·linux·学习·编辑器·vim
毕业设计-012 小时前
0083.基于springboot+uni-app的社区车位租赁系统小程序+论文
spring boot·小程序·uni-app
独孤求败Ace2 小时前
第46天:Web开发-JavaEE应用&原生和FastJson反序列化&URLDNS链&JDBC链&Gadget手搓
java·spring·java-ee
Ting-yu2 小时前
项目实战--网页五子棋(匹配模块)(4)
java