2023.11.14 关于 Spring Boot 创建和使用

目录

Spring Boot 

Spring Boot 项目的创建

 网页版创建 Spring Boot 项目

Spring Boot 目录说明

项目运行


Spring Boot 

  • Spring Boot 是基于 Spring 设计的一个全新的框架,其目的是用来简化 Spring 的应用、初始搭建、开发的整个过程
  • Spring Boot 就是一个整合了很多可插拔组件的框架,内嵌工具(如 Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架

优点:

  • 快速的集成框架(可以快速的添加外部的 jar 包)
  • 内嵌式容器(内置了 Tomcat、Jetty等常用的 Web 容器,无需手动部署 WAR 包到独立的服务器上,开发人员可更方便地开发、测试和部署应用程序)
  • 抛弃繁琐的 XML(使用注解和配置进行开发)
  • 支持更多的监控指标(可以更加容易且只管观察到项目的运行情况) 

Spring Boot 项目的创建

  • 此处使用 IDEA 2021.3.2 社区版创建
  • JDK 版本为 JDK1.8

  • 前置工作:安装插件 Spring Boot Helper

注意:

  • 该插件在 IDEA 社区版 2022.1.x 之前都免费,IDEA 社区版 2022.2.x 之后开始收费,大家自行抉择

1. 选择 Spring Boot 项目,选择合适 JDK 版本,设置创建项目源(默认为 Spirng 官网)

2. 项目参数设置

3. 选择 Spring Boot 的版本,添加项目依赖

4. 设置项目名称和保存路径

5. 确保 IDEA 正确识别该项目为 Maven 


  • 此处为我创建项目时出现的错误,解决方案为下图所示


6. 最后启动运行 Spring Boot 项目

运行结果:

  • 启动无报错,证明该 Spring Boot 项目创建成功!

 网页版创建 Spring Boot 项目

 1. 点击下方链接,打开官网创建 Spring Boot 项目的网页

Spring Initializr

2. 按下图所示选择 并 创建 Spring Boot 项目

3. 此时浏览器会自动下载 图示 demo.zip 包

注意:

  • 该 demo.zip 可作为一个新 Spring Boot 项目包 的备份

使用方法:

  • 解压 demo.zip
  • 使用 IDEA 将解压好的文件夹打开即可

Spring Boot 目录说明

注意:

  • target 目录为当前项目的字节码,每次运行时都会生成该文件
  • 该文件存在缓存现象,从而可能会导致当我们修改代码时,重新运行代码,结果并未发生相应改变
  • 当出现缓存现象时,我们可以直接将 target 目录删除,重新运行 并 启动该项目

项目运行

  • 实现简单页面交互功能

  • 先创建一个 TestController 类
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@ResponseBody // 加在类上,表示当前类中的所有方法返回的都是非静态页面的数据
@RequestMapping("/test") // = @WebServlet("/url")
public class TestController {@RequestMapping("/say-hi") // = @WebServlet("/url")public String sayHi() {return "hello world";}
}

Spring Boot 项目的约定

  • 我们所创建的 包或类 需要写在  java.com.example.demo 目录下 或 其子目录下
  • 否则无法将对象存储到容器中

  • 此处我们先在 demo 目录下创建了一个子目录 controller 目录,再在 controller 目录下创建了 TestController 类
  • 体现了 Spring Boot 项目 约定大于配置 的特点

  • 直接运行 Spring Boot 项目的启动类

运行结果:

  • 如图示页面,控制台无报错,代表该项目启动成功

  • 打开浏览器,正确输入 URL 访问 TestController 类中的 sayHi 方法

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

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

相关文章

CPD:使用restAPI和cpd-cli命令创建DMC实例

环境 Red Hat Enterprise Linux release 8.6 (Ootpa)OCP 4.12.22IBM CP4D 4.8.0Data Management Console 3.1.12 (DMC for CPD 4.8.0) 注:使用了fyre VM。 创建DMC实例 准备 首先export环境变量: . ./stg_env.sh把 cpd-cli 放到PATH里。编辑 ~/.ba…

Blackmagic Design DaVinci Resolve Studio18(达芬奇调色剪辑)mac/win中文版

在影视制作领域,调色和剪辑是至关重要的环节,它们直接决定了作品的观感和质量。而Blackmagic Design DaVinci Resolve Studio18(达芬奇调色剪辑)作为业界领先的专业调色剪辑软件,以其出色的性能和强大的功能&#xff0…

一文图解爬虫_姊妹篇(spider)

—引导语 爬虫,没有一个时代比当前更重视它。一个好的爬虫似乎可以洞穿整个互联网,“来装满自己的胃”。 接上一篇:一文图解爬虫(spider) 博主已初步对爬虫的“五脏六腑”进行了解剖。虽然俗称“爬虫”,但窃…

stm32超声波测距不准的解决方法(STM32 delay_us()产生1us)及stm32智能小车超声波测距代码(C语言版本)

首先要说明一下原理:使用stm32无法准确产生1us的时间,但是超声波测距一定要依赖时间,时间不准,距离一定不准,这是要肯定的,但是在不准确的情况下,要测量一个比较准确的时间,那么只能…

2023.11.16 hivesql之条件函数,case when then

目录 一.Conditional Functions条件函数 二.空值相关函数 三:使用注意事项 3.1 then后面不能接子查询 3.2 then后面只能是结果值 3.3 then后面能不能接两列 四.用于建表新增字段使用场景 一.Conditional Functions条件函数 -- 演示条件函数 -- if(条件判断,t…

如何检查 Docker 和 Kubernetes 是否可以访问外部网络,特别是用于拉取镜像的仓库?

要检查 Docker 和 Kubernetes 是否可以访问外部网络,尤其是用于拉取容器镜像的仓库,您可以按照以下步骤进行: 1. 检查节点的网络连接 首先,您需要确保 Kubernetes 节点能够访问外部网络。这可以通过在节点上执行 ping 命令来测试…

LeetCode(9)跳跃游戏【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 55. 跳跃游戏 1.题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回…

HTML5学习系列之实用性标记

HTML5学习系列之实用性标记 前言实用性标记高亮显示进度刻度时间联系信息显示方向换行断点标注 总结 前言 学习记录 实用性标记 高亮显示 mark元素可以进行高亮显示。 <p><mark>我感冒了</mark></p>进度 progress指示某项任务的完成进度。 <p…

Linux安装jdk1.8教程(服务器可以访问网络)

文章目录 前言创建安装目录查看是否安装过下载解压配置环境变量查看是否安装成功 前言 本教程介绍了一种快捷的jdk1.8安装方法。 创建安装目录 mkdir -p /opt/software // 这是我自己的安装目录&#xff0c;根据自己的习惯确定查看是否安装过 rpm -qa | grep -i jdk需要注意…

java springboot application中设置正确的数字密码连不上数据库问题解决

说一个真实存在的问题 就是 有时候 我们在配置文件中设置了正确的数据库密码 但是 就是连不上 比如 我在application.yml配置文件中配置了一个数据库密码 这里 我们写的是 0127 然后 我们在程序中 读取并打印出来 看看系统拿到的到底是个什么&#xff1f; 但怪了 系统给我们…

无需代码RSS订阅有内容新增自动在滴答创建任务

数环通让您可以通过不到几分钟的时间即可实现RSS订阅与滴答清单的对接与集成&#xff0c;从而高效实现工作流程自动化&#xff0c;降本增效&#xff01; 1.产品介绍 RSS订阅是数环通的内置应用&#xff0c;很多用户通过RSS订阅来收集自己在各大平台上看的内容&#xff0c;当R…

【数据结构—— 栈的实现(数组栈)】

数据结构—— 栈的实现 一.栈1.1栈的概念及结构 二.栈的实现2.1头文件的实现——&#xff08;Strck.h&#xff09;2.2 源文件的实现——&#xff08;Strck.c&#xff09;2.3 源文件的实现——&#xff08;test.c&#xff09; 三.栈的实际数据测试展示3.1正常的后进先出方式3.2 …