SpringBoot(一): SpringBoot的创建和使用

news2024/11/16 9:18:54

Spring的创建和使用

  • 1. 什么是Spring?
  • 2. SpringBoot的优点
  • 3. SpringBoot项目的创建
    • 3.1 使用IDEA创建
    • 3.2 使用网页创建
  • 4. 项目目录介绍和运行
    • 4.1 目录介绍
    • 4.2 项目运行
    • 4.3 输出hello world
    • 4.4 约定大于配置

1. 什么是Spring?

Spring的诞生是为了简化Java程序开发的,而SpringBoot的诞生是为了简化Spring程序开发的

SpringBoot是Spring框架的脚手架,为了快速开发Spring框架而诞生的

2. SpringBoot的优点

  • 快速集成框架,SpringBoot提供了启动添加依赖的功能,用于秒级集成各种框架
  • 内置运行容器,无需配置Tomcat等Web容器,直接运行和部署程序
  • 快速部署项目,无需外部容器即可启动并运行项目
  • 可以完全抛弃繁琐的XML,使用注解和配置的方式进行开发
  • 支持更多的监控的指标,可以更好的了解项目的运行情况

3. SpringBoot项目的创建

3.1 使用IDEA创建

使用IDEA社区版创建前,需要安装一个插件Spring Initializr
在这里插入图片描述
具体步骤:

(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)在这里插入图片描述
(4)
在这里插入图片描述

3.2 使用网页创建

⽹⻚版创建项⽬先访问:https://start.spring.io,如下图所示:
在这里插入图片描述
在这里插入图片描述

4. 项目目录介绍和运行

4.1 目录介绍

在这里插入图片描述
Spring Boot 项目有三个主要的目录:

  1. src/main/java为Java源代码目录
  2. src/main/resources 为静态资源或配置文件
  • /static 为静态资源文件夹
  • /templates为模板资源文件夹
  • /application.properties为配置文件
  1. src/test存储单元测试文件

4.2 项目运行

在这里插入图片描述
启动成功的标识:
在这里插入图片描述

4.3 输出hello world

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

package com.example.demo;

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 world";
    }
}

重启项目后,访问路径:http://127.0.0.1:8080/sayhi
在这里插入图片描述

4.4 约定大于配置

上面我们创建的UserController和DemoApplication所处同一个目录下或当前目录的其他子目录中,访问时不会出问题.
在这里插入图片描述
如果将UserController放到其他目录下面,再次访问时就会出错
在这里插入图片描述

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

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

相关文章

Spring-boot启动失败 Unregistering JMX-exposed beans on shutdown 异常处理

目录一、异常错误二、原因三、解决方法一、异常错误 Spring-boot启动Run时,出现 o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown 错误 *************************** APPLICATION FAILED TO START Description: The Tomcat conn…

【小程序】包与数据共享

文章目录使用 npm 包Vant WeappAPI Promise化全局事件共享MobX分包分包概念使用分包独立分包分包预下载使用 npm 包 目前,小程序中已经支持使用 npm 安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用npm 包有如下 3 个限制&am…

【韩顺平Linux】学习笔记3

【韩顺平Linux】学习笔记3一、文件目录指令pwd指令 ls指令cd指令mkdir指令rmdir指令touch指令cp指令rm指令mv指令cat指令more指令less 指令echo指令 head指令tail指令> 指令 >>指令ln指令history指令二、时间日期指令三、查找指令四、压缩和解压一、文件目录指令 根目…

【前端】Vue项目:旅游App-(3)TabBar:点击active效果、点击路由跳转

文章目录目标代码与过程设置active主题颜色添加点击active效果点击路由跳转效果总代码修改或新增的文件common.cssindex.csstab-bar.vue目标 添加点击active效果实现点击路由跳转效果 上一篇TabBar搭建:【前端】Vue项目:旅游App-(2&#xff…

LVGL学习笔记12 - 复选框CheckBox

目录 1. Parts 1.1 LV_PART_MAIN 1.2 LV_PART_INDICATOR 2. 状态 3. 样式 3.1 设置字符串颜色 3.2 设置点击框外框颜色 3.3 修改点击框弧度 3.4 修改字符串与点击框的间隔 4. 事件 复选框通过lv_checkbox_create创建。一个CheckBox由一个点击框加一个Label组成。 obj1 …

Minikube Mac 安装 使用

Minikube Mac 安装 使用 环境要求 硬件要求 至少 2核 CPUs2GB 以上内存20GB 以上磁盘空间网络环境容器或虚拟机, 例如: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation 本机环境 Mac Pro 10.13.6 Docker 18.09.1 …

半导体行业相关术语

目录 1.晶圆(wafer) 2. 自动化测试设备(ATE Automatic Test Equipment) 3.晶盒(Cassette) 4. 待测设备(DUT Device Under Test) 5. 探针接口板(PIB Prober Interface Board) 6. 设备接口板(DIB D…

干货 | web自动化总卡在文件上传和弹框处理上?

在有些场景中,需要上传文件,而 Selenium 无法定位到弹出的文件框,以及网页弹出的提醒。这些都是需要特殊的方式来处理。input 标签使用自动化上传,先定位到上传按钮,然后 send_keys 把路径作为值给传进去.如图所示&…

【计算机网络-物理层】通信基础

文章目录1 码元、速率、波特、带宽1.1 码元1.2 波特率1.3 比特率1.4 带宽1.5 相关例题2 奈氏准则、香农定理2.1 奈氏准则(采样定理)2.2 香农定理2.3 相关例题3 编码方式3.1 归零编码(RZ)3.2 非归零编码(NRZ&#xff09…

【简单DP】[NOIP2007 普及组] 守望者的逃离

P1095 [NOIP2007 普及组] 守望者的逃离 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)题意:思路:独立做出来的一道DP!一开始我去模拟过程找子问题,然后去找阶段是什么本来想的是以路程作为阶段,但是1e8数组开不下那么…

如何看待PyTorch 2.0?

作者|吴育昕 1 为什么是TorchDynamo Graph capture 把用户 Python 写的模型代码变成 graph,是一切编译的根基。而 PyTorch 在试了这么多方案之后似乎已经锁定 TorchDynamo 作为 graph capture 的未来方向了,所以写一点关于 TorchDynamo 的…

假如面试官问你Babel的原理该怎么回答

1. 什么是 Babel 简单地说,Babel 能够转译 ECMAScript 2015 的代码,使它在旧的浏览器或者环境中也能够运行。 // es2015 的 const 和 arrow function const add (a, b) > a b;// Babel 转译后 var add function add(a, b) {return a b; };Babel…

pwr | 谁说样本量计算是个老大难问题!?(二)(独立样本均值篇)

1写在前面 上次介绍了两组发生率的样本量计算方法,通过pwr包进行计算非常简单,可以有效地减少我们的工作量。😘 有时候我们想比较两组之间的均值,如何计算样本量又一次成了老大难问题。🤒 本期我们还是基于pwr包&#…

【自学Java】Windows安装PyCharm IDE

Windows安装PyCharm IDE PyCharm下载 PyCharm下载地址 https://www.jetbrains.com/pycharm/PyCharm下载 打开上面的链接,打开 Python 的开发工具 PyCharm 的下载页面,如下图所示: 这里我们点击 Download,跳转到新的页面&#…

错过短视频,微博奔向新浪

以后新浪或许会被叫做“微博新浪”。 2022年12月23日晚,港股微博发布公告称,拟斥资15亿元收购新浪网技术有限公司100%股权。此举被外界解读为微博将反向收购新浪。 曾经,微博还是新浪移动互联网时代的“船票”。随着门户网站逐渐凋零&#…

基于ODX/OTX诊断的整车扫描

| ODX (Open Diagnostic data eXchange) 是基于XML语言、开放的诊断数据格式,用于车辆整个生命周期中诊断数据的交互。它一开始由ASAM提出并形成标准MCD-2D,后来以ODX2.2.0为基础形成了ISO标准——ISO 22901-1。 | OTX (Open Test sequence eXchange) …

Redis主从复制哨兵模式

Redis主从复制&哨兵模式一 什么是Redis主从复制1.1 主从复制的架构1.2 主从复制的原理1.3 主库是否要开启持久化1.4 辅助配置(主从数据一致性配置)二 主从复制配置2.1 slave 命令2.2 配置文件三 主从复制常见问题四 Redis哨兵机制4.1 什么是哨兵模式…

WebSocket服务端和客户端代码示例

目录一、WebSocket简介二、WebSocket服务端代码示例三、WebSocket客户端代码示例四、运行服务端和客户端,查看输出结果一、WebSocket简介 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信&#x…

UE4 优化笔记

一、衡量场景性能的指标(这些指标优化前就要先记录下来,这样才知道优化了多少!) 1.stat unit:单元的状态。最开始根据这个数据,确定大致的优化方向 Frame:每帧消耗的总时长 Game:游戏线程运行消耗的时间 D…

迭代最近点ICP点云配准

传统ICP存在匹配速度慢,误匹配率高等缺点。 粗配准是在不清楚两个点云的相对位置的情况下,找到这两个点云近似的旋转平移矩阵,主要是为精配准提供初始变换矩阵;精配准在已知旋转平移矩阵的情况下,通过多次迭代优化进一…