Spring Boot使用(基础)

2023-10-27

目录

 

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的基本使用就讲到这里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot使用(基础) 的相关文章

  • 为什么 Java 中需要 String[] args?

    我知道 String args 是作为参数传递到 main 的字符串数组 java Print Hello World class Print public static void main String args System out p
  • Eclipse JAVA工具jar不存在

    The archive C Java jdk1 6 0 26 32 lib tools jar which is referenced by the classpath does not exist 这是我运行Tomcat时遇到的错误 清理
  • CDI 对象无法使用注入的构造函数进行代理

    当尝试将参数注入 CDI bean ApplicationScoped 的构造函数时 我遇到以下问题 Caused by org jboss weld exceptions UnproxyableResolutionException WE
  • firebase android 基于类的更新不尊重字段名称的大小写

    我声明了以下类 注意大小写选择 public class User private String DisplayName private Boolean Proxy false SuppressWarnings unused public
  • Vaadin框架播放视频

    我可以使用 Vaadin Framewotk 播放视频吗 主要思想是从本地驱动器加载 flv 或 avi 格式的视频文件 并使用 vaadin 框架在网络上播放 谢谢 Sampler中有一个示例 http demo vaadin com s
  • AJAX(原型/java)在执行期间获取部分状态更新

    这部分模仿了AJAX 原型 php 在脚本执行期间获取部分状态更新 https stackoverflow com questions 800997 ajax prototype php getting partial status upd
  • 是否有适用于 Java 的 Harel Statechart DSL 工具?

    我正在寻找一种能够理解 DSL 的工具 在其中我可以定义生成 Java 代码的状态图 或者 DSL 中的状态图可以按原样运行 该工具最好用 Java 编写 并且必须根据 Harel 状态图 或等效的 UML 2 状态机 的定义支持超级状态和
  • 是否可以将 BitmapDescriptor 转换为 Bitmap?

    我需要将 BitmapDescriptor 转换为 Bitmap 我可以使用以下代码将位图转换为 BitmapDescriptor BitmapDescriptor bd BitmapDescriptorFactory fromBitmap
  • java - IBM-IEEE 双精度浮点字节转换

    我需要在 Java 中对字节数组进行 IBM IEEE 浮点转换 我能够使用成功地进行单精度浮点字节的转换http www thecodingforums com threads c code for converting ibm 370
  • Java 线程 JavaDoc

    我编写了一个只能在特定线程上调用的方法 是否应该将标准注释或注释添加到方法的 javadoc 中来表示这一点 不知道有任何这样的标准注释 Java 并发实践 http www javaconcurrencyinpractice com 在第
  • 将项目导入 Eclipse 后出现“必须重写超类方法”错误

    任何时候我必须将我的项目重新导入到 Eclipse 中 如果我重新安装了 Eclipse 或者更改了项目的位置 几乎全部我的重写方法的格式不正确 导致错误 该方法必须重写超类方法 值得注意的是 无论出于何种原因 Android 项目中方法参
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 参数列表中的“...”是什么意思? doInBackground(字符串...参数)

    我不明白那个语法 尝试用谷歌搜索各种单词加上 是没有用的 它被称为varargs http java sun com j2se 1 5 0 docs guide language varargs html 这个事实应该产生更好的谷歌结果 h
  • Guice 字段注入不起作用(返回 null)

    我在使用 Guice 时遇到空值问题 接下来我将向您展示一个类似场景的示例 我知道字段注入是一种不好的做法 但我希望它在演示中像这样工作 我有一个名为B 这是我要注入的 class B Inject public B public void
  • 通过命令行增加Java中的MaxPermSize内存

    您能否解释一下如何增加此 PermSpace 大小 我正在使用 Gate 应用程序并加载大量数据和大量插件 不幸的是每次运行后都会出现有关内存不足 maxPermSpace 的错误 我到处搜索 但我找不到如何通过命令行增加这个大小 或者可能
  • java.lang.Object#getClass() 的 Eclipse 外部空注释

    我正在使用 Eclipse Mars 中提供的外部空注释工具 我正在尝试添加外部注释java lang Object getClass 但似乎无法正确签名 我尝试过以下变体 NonNull Class getClass L1java lan
  • 为什么永久代空间不断增长?

    我读过几篇文章 我理解以下内容 如果我错了 请纠正我和 或编辑问题 java堆是这样分段的 年轻代 创建的对象放在这里 这部分被频繁且廉价地垃圾收集 老一代 在年轻代的垃圾收集中幸存下来的对象会移到此处 该区域的垃圾收集频率较低 并且使用对
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具
  • Hibernate Envers:如何捕获谁删除了审计表中的实体

    我在用hibernate envers with spring 一切工作正常 除了当我删除一个实体时 它不会改变的值updated by and updated date在审计表内 它会在之后保存一个与之前完全相同的实体 仅复制 sprin

随机推荐