Spring Boot使用(基础)

目录

 

1.Spring Boot是什么?

2.Spring Boot使用

2.1Spring目录介绍

2.2SpringBoot的使用


 

1.Spring Boot是什么?

Spring Boot就是Spring脚手架,就是为了简化Spring开发而诞生的

Spring Boot的优点:

1.快速集成框架,提供了秒级继承各种框架,提供了启动添加依赖的功能

2.内置运行容器,无需配置tomcat,直接运行部署

3.快速部署项目,无需外部容器,即可启动并运行项目

4.可抛弃XML,使用注解的方式进行开发

5.支持更多监控指标,可以更好的了解项目的运行情况

Spring Boot缺点:

1.将原有Spring项目转变成Spring Boot项目较为困难,不适合老项目

2.集成度很高,不适合理解底层

2.Spring Boot使用

Spring Boot得到创建我们就不说了,我们重点说一下Spring Boot的使用

2.1Spring目录介绍

这是我的一个Spring Boot学习项目

1.首先.idea目录下的,是IDEA需要用的的东西,我们是不用去修改的,放在那里就行

2.我们可以看到src目录下的main包中有一哥蓝色的java文件夹,这个文件夹是用来存放我们的项目的,也就是java源代码的根路径

3.我们可以看到demo包下有一个DemoApplication类,这个类是Spring Boot自动生成的启动类

4.我们可以打开下面的resources文件看看

 

5. 可以看到,这里有前端文件

6.然后后面的叶子是我们的后端配置文件

7.我们打开test包,下面有一个绿色的java文件夹,这里面存放的是开发者使用的单元测试

8.最后我们可以看到蓝色的pom.xml

 这个我们就非常熟悉了,这个就是我们Maven添加依赖的东西了

2.2SpringBoot的使用

这里我们新建一个类HelloSpringBoot

注意:创建的类一定要和DemoApplication同级

 然后我们对这个类加上注解,让他可以处理Http请求

先附上代码

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 
 * Date: 2023-04-23
 * Time: 20:44
 */
@Controller
@ResponseBody
@RequestMapping("/user")
public class HelloSpringBoot {
    @RequestMapping("/sayHi")
    public String sayHi() {
        
        return "Hello";
    }
}

@Controller

这个注解我们前面Spring中已经使用过了,就是把对象注入到容器中

@ResponseBody

这个注解是把我们的响应转换成Body类型返回,如果不加这个,我们SpringBoot会返回一个vue响应

@RequestMapping

这个注解是为了把我们的项目和浏览器相连接起来,让我们浏览器发送请求时,可以访问到这个类和方法

然后我们返回值设置成String,就可以执行了

注意:第一次执行必须要在启动类中执行,否则后续可能会出现问题

当我们启动成功后,使用浏览器进行访问,就可以得到成功了

 然后我们还可以给方法设置一些参数,从而让浏览器传送参数,在后端处理后,再进行返回

这里我们需要重新启动一下SpringBoot

然后我们通过浏览器进行传参数

 这样就完成了一个简单的使用SpringBoot

注意:这里传参数时候的参数名,必须和我们方法中写的方法名相同,否则我们无法得到参数

这里我们需要稍作修改,如果我们的参数没有获取到时,可以返回一些提示信息

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 
 * Date: 2023-04-23
 * Time: 20:44
 */
@Controller
@ResponseBody
@RequestMapping("/user")
public class HelloSpringBoot {
    @RequestMapping("/sayHi")
    public String sayHi(String name) {
        if (!StringUtils.hasLength(name)) {
            return "没获取到参数";
        }
        return "Hello" + name;
    }
}

这里我们说一下StringUtils.hasLength方法这个方法是

 org.springframework.util包下的一个类

hasLength方法可以帮助我们进行字符串的判空操作

关于SpringBoot的基本使用就讲到这里

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单搭建node后台(笔记用)

毕设过程 mongodb 配置 使用node写后台一些语法运用bug关于安装一款群控软件后,修改了环境变量导致后台崩溃![](https://img-blog.csdnimg.cn/7c684b2e318048b3ad1db78484e10e6a.jpeg) vue管理后台 mongodb 配置 https://blog.csdn.net/weixin_43405300/article/de…

【SPSS】相关分析和偏相关分析详细操作过程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

java的spi机制使用场景讲解和具体使用

八股文背多了,相信大家都听说过一个词,SPI扩展。 有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的? 基本上,你一说是基于spring的SPI扩展机制,再把spring.factories文件和EnableAutoConf…

C++(多态上)

目录: 1.多态的概念 2.多态的定义和实现 3.虚函数构成重写的特例 4.剖析一道非常经典的题 5.剖析多态的原理 ------------------------------------------------------------------------------------------------------------------------- 1.多态的概念 概念:通俗来说&#…

Word2vec原理+实战学习笔记(二)

来源:投稿 作者:阿克西 编辑:学姐 前篇:Word2vec原理实战学习笔记(一)​​​​​​​ 视频链接:https://ai.deepshare.net/detail/p_5ee62f90022ee_zFpnlHXA/6 5 对比模型(论文Mod…

Python使用AI photo2cartoon制作属于你的漫画头像

Python使用AI photo2cartoon制作属于你的漫画头像 1. 效果图2. 原理3. 源码参考 git clone https://github.com/minivision-ai/photo2cartoon.git cd ./photo2cartoon python test.py --photo_path images/photo_test.jpg --save_path images/cartoon_result.png1. 效果图 官方…

(22)目标检测算法之 yolov8模型导出总结

yolov8模型导出总结 不断更新中… 几种部署情况: onnxxmlengine官网说明:https://github.com/ultralytics/ultralytics/blob/main/docs/modes/export.md导出参数: onnx 参数解析format: 导出的模型形式:onnx xml engine ... imgsz: 设置模型的输入尺寸大小,默认640*640 ke…

磁盘和固态磁盘

磁盘和固态磁盘 磁盘的物理结构 ​ 磁盘的表面由一些磁性的物质组成,可以用这些磁性物质来记录二进制数据。磁盘的盘面被划分成一个个磁道,这样一个“圈”就是一个磁道。同一磁盘上不同磁道上记录的信息量相同,因此内侧磁道上的数据密度较大…

STM32F429移植microPython笔记

目录 一、microPython下载。二、安装开发环境。三、编译开发板源码。四、下载验证。 一、microPython下载。 https://micropython.org/download/官网 下载后放在linux中。 解压命令: tar -xvf micropython-1.19.1.tar.xz 二、安装开发环境。 sudo apt-get inst…

【Java笔试强训 14】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥计算日期…

玩着3dmax把Python学了-01

3ds Max 2022以前的版本要借助Python的api来实现Python编程达到编辑绘图脚本的功能,但是好消息来了,3ds Max 2022 起,MaxPlus 不再作为 3ds Max 的 Python API 包含在内。而是3ds Max 将 Python 3.7 的标准版本包涵其中了,位于 [3…

Filter 过滤器

Filter过滤器介绍 这里我们讲解Filter的执行流程,从下图可以大致了解到,当客户端发送请求的时候,会经过过滤器,然后才能到我们的servlet,当我们的servlet处理完请求之后,我们的response还是先经过过滤器才…

基于SpringBoot的线上日志阅读器

软件特点 部署后能通过浏览器查看线上日志。支持Linux、Windows服务器。采用随机读取的方式,支持大文件的读取。支持实时打印新增的日志(类终端)。支持日志搜索。 使用手册 基本页面 配置路径 配置日志所在的目录,配置后按回车…

2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益

在中国,信息技术在个人、企业和宏观经济层面都推动着重大变革。为了研究这些变化所带来的影响,盖洛普咨询公司(Gallup)和亚马逊云科技开展了关于数字化技能的调研。 研究表明,数字化技能正在为中国企业和在职人员带来巨大的经济价值&#x…

一文带你入门C++类和对象【十万字详解,一篇足够了】

本文字数较多,建议电脑端访问。不多废话,正文开始 文章目录 ———————————————【类和对象 筑基篇】 ———————————————一、前言二、面向过程与面向对象三、结构体与类1、C中结构体的变化2、C中结构体的具体使用3、结构体 --&…

程序环境和预处理

目录 一 程序的翻译环境和执行环境 二 详解编译链接 2.1 翻译环境 2.2 编译本身也分为几个阶段 2.3 运行环境 三 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define定义宏 3.2.3 #define 替换规则 3.2.4 #和## 3.2.5 带副作用的宏参…

告别被拒,如何提升iOS审核通过率(上篇)

iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬。那么问题来了,我们有没有什么办法准确把握苹果审核准则,从而提升审核的通过率呢&#x…

Centos7快速安装Kibana并连接ES使用

Elasticsearch 提供了一个名为 Kibana 的官方可视化界面。Kibana 是一个开源的数据可视化和管理工具,用于 Elasticsearch。它提供了丰富的功能,如仪表板、图表、地图等,帮助您更好地理解、搜索和可视化存储在 Elasticsearch 中的数据。 在 C…

【软考备战·希赛网每日一练】2023年5月5日

文章目录 一、今日成绩二、错题总结第一题 三、知识查缺 题目及解析来源:2023年05月05日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 有返回消息的就是同步消息;不需要等待返回消息就可以去做其他事情的请求消息就是异步消息…

从零基础到网络安全专家:全网最全的网络安全学习路线

前言 网络安全知识体系非常广泛,涉及的领域也非常复杂,有时候即使有想法和热情,也不知道从何入手。 为了帮助那些想要进入网络安全行业的小伙伴们更快、更系统地学习网络安全知识,我制定了这份学习路线。本路线覆盖了网络安全的…