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 方法

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

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

相关文章

C语言入门这一篇就够了(入门篇2)

接上篇C语言入门这一篇就够了(入门篇1) 今天主要讲解基本语法,话不多说,直接上干货。 C语言语法有哪些 数据类型:C语言有多种数据类型,包括整数类型(如 int、long)、浮点类型&#x…

移动机器人路径规划(二)--- 图搜索基础,Dijkstra,A*,JPS

目录 1 图搜索基础 1.1 机器人规划的配置空间 Configuration Space 1.2 图搜索算法的基本概念 1.3 启发式的搜索算法 Heuristic search 2 A* Dijkstra算法 2.1 Dijkstra算法 2.2 A*&&Weighted A*算法 2.3 A* 算法的工程实践中的应用 3 JPS 1 图搜索基础 1.1…

Mysql中的JDBC编程

JDBC编程 1.JDBC的数据库编程2.JDBC工作原理3.JDBC使用3.1JDBC开发案例3.2JDBC使用步骤总结 4.JDBC API4.1数据库连接Connection4.2 Statement对象4.3 ResultSet对象4.4 释放 5.Java代码操作数据库 1.JDBC的数据库编程 JDBC,即Java Database Connectivity&#xff0…

20 - 欲知JVM调优先了解JVM内存模型

从今天开始,我将和你一起探讨 Java 虚拟机(JVM)的性能调优。JVM 算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的性能调优做过吗? 1、为什么 JVM 在 Java 中…

springboot--单元测试

单元测试 前言1、写测试要用的类2、写测试要用的类3、运行测试类4、spring-boot-starter-test默认提供了以下库4.1 junit54.1.1 DisplayName:为测试类或者测试方法设置展示名称4.1.2 BeforeAll:所有测试方法运行之前先运行这个4.1.3 BeforeEach:每个测试…

编码自动化:使用MybatisX初体验,太爽了!

使用Mybatis当前最火的插件:MybatisX。 在IDEA中安装MyBatisX插件。 该插件主要功能如下: 生成mapper xml文件 快速从代码跳转到mapper及从mapper返回代码 mybatis自动补全及语法错误提示 集成mybatis Generate GUI界面 根据数据库注解,…

win11无损关闭系统更新

1、窗口键R,打开运行窗口,输入regedit。 2、打开地址:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 3、新建DWORD(32位)值(D),重命名“FlightSettingsMaxPauseDays” 4、…

MacBook投屏到安卓电视的操作步骤,用网页浏览器也能投屏

如果你想将苹果电脑投屏到家里的安卓大电视上,AirDroid Cast给你提供两种方法,其中一种就是大家都熟悉的AirPlay,AirPlay有个限制,需要连接同一个网络才可以投屏,所以AirPlay适应本地投屏。如果你需要远程投屏&#xf…

通信原理板块——利用香农公式对连续信道的信道容量计算

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 利用香农公式对连续信道的信道容量…

JS-项目实战-编辑单价单元格,可以点击单价单元格并且出现文本框,并自动选中输入框内部的文本

1、鼠标悬浮和离开事件.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格…

java 自定义收款二维码,使用图片融合,自定义文字

1, 输出 原图资源 : 下载原图, CSDN 下载, 无需积分 模版 底图 768 x 1299 二维码 527*527 2 代码 import javax.imageio.ImageIO; import java.awt.*; import java.awt.font.FontRenderContext; import java.awt.image.BufferedImage; import java.io.File; import java.…

基于STC12C5A60S2系列1T 8051单片机的SPI总线器件数模芯片TLC5615实现数模转换应用

基于STC12C5A60S2系列1T 8051单片的SPI总线器件数模芯片TLC5615实现数模转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍SPI总线器件数模芯片TLC5615介绍通过按…

第十五届全国大学生数学竞赛初赛试卷解析

参加了此次比赛,收获很多,两个半小时让我体会到了很多,所以想做个总结 第十五届全国大学生数学竞赛初赛试题 (非数学A类,2023年) 下面是答案解析,有兴趣的小伙伴可以做完对照一下。 直接使用洛必…

ClassLoader

Java /Android 默认ClassLoader是PathClassLoader Android 的 PathClassLoader 和DexClassLoader 都是BaseDexClassLoader的子类 BaseClassLoader是ClassLoader的子类,通过loadClass方法加载,Android将Java的ClassLoader简化了,第二个参数arg2 无效 loadClass 通过 findLoad…

050-第三代软件开发-软件部署脚本(二)

第三代软件开发-软件部署脚本(二) 文章目录 第三代软件开发-软件部署脚本(二)项目介绍软件部署脚本(二) 关键字: Qt、 Qml、 bash、 shell、 脚本 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Languag…

C语言从入门到精通之【基本运算符】

赋值运算符 在C语言中,并不意味着“相等”,而是一个赋值运算符。下面的赋值表达式语句: bmw 2002; 把值2002赋给变量bmw。也就是说,号左侧是一个变量名,右侧是赋给该变量的值。符号被称为赋值运算符。另外&#xff0…

用友GRP-U8 ReturnForWcp RCE漏洞复现

0x01 产品简介 用友GRP-U8内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8内控管理软件/servlet/PayReturnForWcp接口处存在xxe漏洞,攻击者可利用xxe…

Redis配置、Redis类型

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

sklearn笔记:neighbors.NearestNeighbors

1 最近邻 class sklearn.neighbors.NearestNeighbors(*, n_neighbors5, radius1.0, algorithmauto, leaf_size30, metricminkowski, p2, metric_paramsNone, n_jobsNone)邻居搜索算法的选择通过关键字 algorithm 控制,它必须是 [auto, ball_tree, kd_tree, brute] …

图像格式导致halcon读取失败

图像格式: JPEG (jpg),文件头:FF D8 FF PNG (png),文件头:89 50 4E 47 GIF (gif),文件头:47 49 46 38 Windows Bitmap (bmp),文件头:42 4D 打开软件“notepad”使用16进…