第一个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项⽬了.

相关推荐
渣哥几秒前
Java开发必看!序列化与反序列化到底有多重要?
java
仙俊红4 分钟前
使用jwt+redis实现单点登录
java
mao毛6 分钟前
Go 1.25 重磅发布:性能飞跃、工具升级与新一代 GC 来袭
后端·go
我是场7 分钟前
Android14内核调试 - boot & vendor_boot
java·开发语言·spring boot
Harold14 分钟前
【用户访问鉴权】Openresty实现方案
后端
用户97044387811617 分钟前
PHP 函数的参数顺序,它们是随机的吗?
后端·程序员·代码规范
3学习分享吧18 分钟前
C++从0实现百万并发Reactor服务器(完结)
后端
fake_ss19822 分钟前
从零开发Java坦克大战Ⅱ (下)-- 从单机到联机(完整架构功能实现)
java·网络·tcp/ip·游戏程序
lssjzmn36 分钟前
java中,synchronized 关键字与 ReentrantLock 重入锁的区别以及应用场景,注意事项
java·后端
渣哥39 分钟前
Spring循环依赖的终极解密:三级缓存如何拯救Bean创建死锁
java