SpringBoot快速入门(介绍,创建的3种方式,Web分析)

目录

一、SpringBoot介绍

二、SpringBootWeb快速入门

创建

定义请求处理类

运行测试

三、Web分析

一、SpringBoot介绍

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

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

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

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

二、SpringBootWeb快速入门

注意:SpringBoot最新版本是3.x;目前应用最多的是SpringBoot2.x

  1. 创建SpringBoot工程项目

    添加SpringBoot相关的依赖坐标

    创建一个引导类(启动类),里边要有main方法==>几乎固定不变的写法

  2. 定义HelloController类,添加方法hello,并添加注解

    类上加@RestController注解

    在hello方法上加@GetMapping("/hello")

  3. 启动服务,测试

创建

 1.创建方式一:上官网Spring Initializr

 2.创建方式二:在idea里创建,必须联网

3.创建方式三:创建一个maven项目,在pom文件加载以下坐标,在添加启动类

修改pom.xml,添加SpringBoot版本锁定,并添加web起步依赖。最终代码

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>web03-springboot</artifactId><version>1.0-SNAPSHOT</version><!--锁定SpringBoot的版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version></parent><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!--添加web起步依赖,这个依赖里提供了web服务端开发必须的jar包--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>

创建引导类(也就是启动类)

package com.itheima;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author liuyp* @since 2024/03/05*/
@SpringBootApplication
public class Demo01Application {public static void main(String[] args) {SpringApplication.run(Demo01Application.class, args);}
}
定义请求处理类

package com.itheima.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author liuyp* @since 2024/03/05*/
@RestController
public class HelloController {@GetMapping("/hello")public String hello(){System.out.println("HelloController的hello方法运行了");return "hello, world";}
}

运行测试

运行刚刚创建的引导类,启动服务

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

三、Web分析

客户端输入网址并回车:http://192.168.100.11:8080/hello,表示向192.168.100.11计算机上的8080端口对应的程序,加载/hello对应的资源

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

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

  • /hello是请求资源路径

    • 资源:计算机上的一切文件都是资源

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

服务器处理客户端的请求:可以理解为ServerSocket

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

  • 在服务器上找到/hello对应的资源数据

  • 把资源返回给浏览器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 多桌面图标启动, 爬坑点击打开不同页面

备注 &#xff1a; MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的&#xff0c;即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成&#xff1a;android:launchMode"singleTask" 点击顺序&#xff1…

ThreadLocal :在 Java中隱匿的魔法之力

优质博文&#xff1a;IT-BLOG-CN ThreadLocal 并不是一个Thread&#xff0c;而是 ThreadLocalVariable(线程局部变量)。也许把它命名为 ThreadLocalVar更加合适。线程局部变量就是为每一个使用该变量的线程都提供一个变量值的副本&#xff0c;是 Java中一种较为特殊的线程绑定机…

0x51线性dp

算法竞赛进阶指南线性dp部分例题的题解。 1 Mr. Young‘s Picture Permutations 2 未完待续…

MySQL--优化(索引--聚簇和非聚簇索引)

MySQL–优化&#xff08;索引–聚簇和非聚簇索引&#xff09; 定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、聚簇索引 聚簇索引&#xff1a;将数据存储与索引放到了一块&#xff0c;索引结构的叶子节点保存…

01-环境搭建、SpringCloud微服务-黑马头条

环境搭建、SpringCloud微服务(注册发现、服务调用、网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及&#xff0c;人们更加习惯于通过手机来看新闻。由于生活节奏的加快&#xff0c;很多人只能利用碎片时间来获取信息&…

数据开发 - 面经(已OC) - 北京中海通

投递流程&#xff1a; 2023.12.28 Boss 打招呼 2024.1.3 约面 2024.1.4 上午面试 &#xff08;手机端腾讯会议&#xff09; 2024.1.5 上午 通知面试通过 腾讯会议手机端无法和录影机同时运行&#xff0c;录音无效&#xff0c;之后注意使用电脑面试 面试流程&#xff1a;首…

Linux 内核提供处理阻塞访问的方法:等待队列

一. 简介 上一篇文章简单介绍了 什么是Linux阻塞与非阻塞IO。文章地址如下: Linux阻塞与非阻塞IO简介-CSDN博客 本文来学习Linux内核提供的唤醒阻塞进程机制:等待队列。 二. Linux 内核唤醒阻塞进程的机制:等待队列 阻塞访问最大的好处就是,当设备文件不可操作的时候进…

Invalid Host header 服务器域名访问出现的问题

Invalid Host header 服务器域名访问出现的问题 问题描述原因分析解决方案 问题描述 在阿里云系统上使用webpack-dev-server打包发布的应用&#xff0c;通过ip是可以访问的。但是ip绑定域名之后使用域名访问页面显示Invalid Host header 原因分析 新版的webpack-dev-server出于…

搜维尔科技:3D Systems Geomagic Design X 逆向工程软件

产品概述 3D Systems Geomagic Design X 是全面的逆向工程软件 GeomagicoDesign XTM是全面的逆向工程软件&#xff0c;它结合了基于特征的CAD数模与三维扫描数据处理&#xff0c;使您能创建出可编辑、基于特征的CAD数模&#xff0c;并与您现有的CAD软件兼容。 拓展您的设计能…

Qt中parent()函数的使用

情景(需求)抽象&#xff1a; A类对象是B类对象的成员变量。 B类对象是A类对象的父亲。 A类对象中包含按钮&#xff0c;点击按钮&#xff0c;调用B类的成员函数。 示例&#xff1a; A类&#xff1a; #pragma once#include <QWidget> #include "ui_QtWidgetsCla…

【UI自动化测试】如何提高UI自动化脚本的稳定性,

设计方面&#xff1a; 用例解耦、减少用例之前的互相依赖&#xff0c;避免影响其他用例的执行&#xff1b; 用例执行过后对测试场景还原&#xff0c;避免影响其他用例的执行&#xff1b; 脚本失败后可以加入testng的重试机制&#xff0c;提高用例的稳定性&#xff1b; PO模式…

两两交换链表中的节点+力扣

题目 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 题目描述 代码实现 class Solution { public:ListNode* swapPairs(ListNode* head) {if(head nullptr || head->next nullptr) return head;ListNode *tmpHead swapPairs(head->next->next);ListNode …

Spring Boot异常处理和单元测试

1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制&#xff1a;SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请…

Qt/C++音视频开发68-检查是否含有B帧/转码推流/拉流显示/监控拉流推流/海康大华宇视监控

一、前言 为什么需要判断视频文件是否含有B帧&#xff0c;这个在推流的时候很容易遇到这个问题&#xff0c;一般来说&#xff0c;没有B帧的视频文件&#xff0c;解码后的数据帧pts和dts都是顺序递增的&#xff0c;而有B帧的则未必&#xff0c;可能有些需要先解码后面显示&…

MATLAB算法实战应用案例精讲-【大模型】LLM算法(基础篇)

目录 知识储备 AI大模型 AI大模型是什么 AI大模型发展历程 AI大模型的底层原理

JDBC基础使用

1.注册驱动 DriverManager.registerDriver(new Driver()); //创建了两次 new Driver(); // 不能指定 Class.forName("com.mysql.cj.jdbc.Driver"); //最好的 2.获取连接 Connection connection DriverManager.getConnection("jdbc:mysql:///atguigu",…

让娃学习效率更高的“可视化”时间管理器

如果要问&#xff0c;老母亲在娃开学后&#xff0c;蕞着急孩子哪一种坏习惯&#xff0c;那时间管理肯定榜上有名&#xff01; 做作业的时候&#xff0c;才写了5分钟&#xff0c;已经没有耐心了&#xff0c;东摸摸西看看&#xff0c;一会说肚子疼想上厕所&#xff0c;一会又拿出…

【Java EE初阶三十】JVM的简单学习

1. JVM 内存区域划分 一个运行起来的 Java 进程&#xff0c;就是一个 JVM 虚拟机&#xff0c;需要从操作系统申请一大块内存&#xff0c;就会把这个内存&#xff0c;划分成不同的区域&#xff0c;每个区域都有不同的作用. JVM 申请了一大块内存之后,也会划分成不同的内…

Flink实时数仓之用户埋点系统(一)

需求分析及框架选型 需求分析数据采集用户行为采集业务数据采集 行为日志分析用户行为日志页面日志启动日志APP在线日志 业务数据分析用户Insert数据用户Update数据 技术选型Nginx配置Flume配置MaxWellHadoopFlink架构图 需求分析 数据采集 用户行为采集 行为数据&#xff1…

维修Balance Monitor动平衡仪触摸屏 SB-7705s工控电脑

Balance Monitor SB-7705系列 适用于柔性转子和高精度机械的现场平衡器 多速多平面平衡能力执行 灵活的转子平衡和抑制振动 在所有三个方向 (XYZ)。 高速旋转机械的主轴刚度较低&#xff0c;工作转速范围内存在临界转速。 SB-7705系列现场平衡机的多速度多平面平衡能力有助于此…