当前位置: 首页 > news >正文

SpringBoot入门篇1 - 简介和工程创建

目录

SpringBoot是由Pivotal团队提供的全新框架, 其设计目的是用来简化Spring应用的初始搭建以及开发过程。

1.创建入门工程案例

①创建新模块,选择Spring初始化,并配置模块相关基础信息 

 

②开发控制器类 

controller/BookController.java

package com.example.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/books")
public class BookController {@GetMapping("/{id}")public String getById(@PathVariable Integer id) {System.out.println("id ==> " + id);return "hello, spring boot!";}
}

③运行自动生成的Application类 

2.Spring和SpringBoot程序对比

 

看一下SpringBoot项目的pom.xml

 

spring-boot-starter-web依赖:定义了当前项目所使用的所有项目目标,以达到减少依赖配置的目的。

spring-boot-starter-parent:所有SpringBoot项目要继承的项目,定义了若干个坐标版本号。(依赖管理,而非依赖)

SpringBoot的引导类是项目的入口,运行main方法就可以启动项目。

SpringBoot项目内置Tomcat服务器。如何变更依赖项,比如换个jetty服务器。

pom.xml(可能因为版本问题,需要配置一下<jakarta-servlet.version>5.0.0</jakarta-servlet.version>)

<properties><java.version>20</java.version><jakarta-servlet.version>5.0.0</jakarta-servlet.version>
</properties>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency>
</dependencies>

3.从SpringBoot官网创建工程

Spring Boot

 

4.SpringBoot项目快速启动

使用JAR包,方便前端用户快速启动后台项目。

具体操作: 

执行指令:

java -jar springboot_demo-0.0.1-SNAPSHOT.jar

相关文章:

SpringBoot入门篇1 - 简介和工程创建

目录 SpringBoot是由Pivotal团队提供的全新框架&#xff0c; 其设计目的是用来简化Spring应用的初始搭建以及开发过程。 1.创建入门工程案例 ①创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息 ②开发控制器类 controller/BookController.jav…...

MyBatis-Plus updateById不更新null值

文章目录 前言方式一 调整全局的验证策略方式二 调整字段验证注解方式三 使用 UpdateWrapper 前言 在 MyBatis-Plus 中&#xff0c;使用updateById&#xff0c;null字段并不会更新&#xff0c;其实是和更新的策略有关&#xff0c;当然&#xff0c;也有插入策略&#xff0c;本文…...

用pytorch实现AlexNet

AlexNet经典网络由Alex Krizhevsky、Hinton等人在2012年提出&#xff0c;发表在NIPS&#xff0c;论文名为《ImageNet Classification with Deep Convolutional Neural Networks》&#xff0c;论文见&#xff1a;http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf &#xf…...

LeetCode560.和为k的子数组

这道题我用的是暴力法&#xff0c;当然也是不断的提交不断发现问题改出来的&#xff0c;比如我之前是算到和大于目标值就break&#xff0c;其实不行因为后面还可以有负数&#xff0c;我把break删了。后面和为目标之后就答案1然后break然后下一次遍历&#xff0c;测试用例中就出…...

echarts 的dataZoom滑块两端文字被遮挡

问题&#xff1a; 期望&#xff1a; 解决方案&#xff1a; 1&#xff1a;调整宽度&#xff08;4版本的没有width属性&#xff09; 2. 参考&#xff1a;echarts图标设置dataZoom拖拽时间轴时自动调整两侧文字的位置_datazoom 位置_乌栖曲的博客-CSDN博客 设置文字的定位 cons…...

MongoDB基本使用

在 MongoDB 中我们可以使用use命令来创建数据库&#xff0c;如果该数据库不存在&#xff0c;则会创建一个新的数据库&#xff0c;如果该数据库已经存在&#xff0c;则将切换到该数据库。使用use命令创建数据库的语法格式如下&#xff1a; --use database_name use my_db1;数据…...

C++ 中的左值(Lvalues)和右值(Rvalues)

C 中有两种类型的表达式&#xff1a; 左值&#xff08;lvalue&#xff09;&#xff1a;左值参数是可被引用的数据对象&#xff0c;例如&#xff0c;变量、数组元素、结构成员、引用和解除引用的指针都是左值。非左值包括字面常量&#xff08;用引号起的字符串除外&#xff0c;…...

html流光按钮

出处bilibili猫咪爱狗 <!DOCTYPE html> <html><head><style>body {/*内容居中&#xff0c;背景色*/height: 100vh;display: flex;justify-content: center; align-items: center;background-color: #000;}a { /*水平垂直居中*/position: re…...

HAProxy+nginx搭建负载均衡群集

目录 一、常见的Web集群调度器 二、HAProxy群集介绍 1、Haproxy的特性 : 2、Haproxy常用的调度算法 ① 轮询调度&#xff08;Round Robin&#xff09; ② 最小连接数&#xff08;Least Connections&#xff09; ③ 基于来源访问调度算法&#xff08;Source Hashing&am…...

logback-spring.xml 的配置及详解(直接复制粘贴可用)

logback-spring.xml 的配置及详解 一、注意实现二、配置及详解 一、注意实现 logback-spring.xml 中有三处需要根据实际业务进行修改&#xff0c;直接查找“&#xff08;根据业务修改&#xff09;”即可进行定位。 如果不想修改&#xff0c;直接复制粘贴到自己系统运行也可以&…...

C语言易错点整理

前言&#xff1a; 本文涵盖了博主在平常写C语言题目时经常犯的一些错误&#xff0c;在这里帮大家整理出来&#xff0c;一些易错点会帮大家标识出来&#xff0c;希望大家看完这篇文章后有所得&#xff0c;引以为戒~ 一、 题目&#xff1a; 解答&#xff1a; 首先在这个程序中…...

60.每日一练:回文数(力扣)

目录 问题描述 代码解决以及思想 解法&#xff08;一&#xff09; 知识点 解法&#xff08;二&#xff09; 问题描述 代码解决以及思想 解法&#xff08;一&#xff09; class Solution { public:bool isPalindrome(int x) {string arr to_string(x); // 将整数转换为…...

算法通关村第5关【青铜】| Hash和队列的特征

1.Hash基础 &#xff08;1&#xff09;基础 哈希也称为散列&#xff0c;通过算法变成固定长度的输出值&#xff0c;存入对应的位置 例如这个算法为取模算法&#xff0c;indexnumber 模 7 存入1到15 &#xff08;2&#xff09;碰撞处理 当多个元素映射到同一位置上时就产生…...

C++:函数

函数参数的传递机制 C的每个程序至少有一个函数&#xff0c;即主函数main()&#xff0c;函数也是类的方法的实现手段。C的函数包括两类&#xff1a;预定于函数和用户自定义函数。 函数的定义格式为&#xff1a; <返回值类型><函数名>(<参数列表>) <函…...

Linux网络编程:libevent事件通知库

文章目录&#xff1a; 一&#xff1a;libevent库 二&#xff1a;libevent框架 1.常规事件event 1.1 创建事件event&#xff08;event_new&#xff09; 1.2 添加事件到 event_base&#xff08;event_add&#xff09; 1.3 从event_base上摘下事件&#xff08;event_del&a…...

java.lang.reflect.InvocationTargetException:null报未知异常

在项目上线过程中&#xff0c;突然出现大量异常信息&#xff0c;堆栈信息如下&#xff1a; java.lang.reflect.InvocationTargetException: null at jdk .internal.reflect.GeneratedMethodAccessor792 .invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingM…...

MySQL高级篇——MySQL架构篇1(Linux下MySQL8的安装与使用)

目录 0 安装前0.1 Linux系统及工具的准备0.2 查看是否安装过MySQL0.3 MySQL的卸载 1 MySQL8的Linux版安装1.1 MySQL的4大版本1.2 下载MySQL指定版本1.3 CentOS7下检查MySQL依赖1.4 CentOS7下MySQL安装过程 2 MySQL登录2.1 首次登录2.2 修改密码2.3 设置远程登录 3 MySQL 8 的密…...

解决 go mod tidy 加载模块超时

如果go mod tidy 加载模块超时 解决方法 修改GOPROXY: 查看go环境相关信息&#xff1a; go envgo env -w GOPROXYhttps://goproxy.cn...

金融市场中的机器学习;快手推出自研语言模型“快意”

&#x1f989; AI新闻 &#x1f680; OpenAI可能面临《纽约时报》的起诉&#xff0c;侵犯知识产权引发争议 摘要&#xff1a;OpenAI使用《纽约时报》的文章和图片来训练AI模型&#xff0c;违反了《纽约时报》的服务条款&#xff0c;可能面临巨大损失。此前&#xff0c;也有其…...

【面试刷题】——什么是深拷贝和浅拷贝?

深拷贝&#xff08;Deep Copy&#xff09;和浅拷贝&#xff08;Shallow Copy&#xff09;是在编程中用来描述对象拷贝的两个概念&#xff0c;特别是在涉及对象包含其他对象&#xff08;如嵌套数据结构、指针等&#xff09;的情况下。 浅拷贝&#xff08;Shallow Copy&#xff…...

基于C++实现(控制台)图书管理系统

♻️ 资源 大小&#xff1a; 1.70MB ➡️ 资源下载&#xff1a;https://download.csdn.net/download/s1t16/87430290 图书管理系统 题目概述 首先认为大多数同学好像都计划设计游戏&#xff0c;我们想设计不一样的&#xff0c;再因为以前大家都做过一次手机的通讯录&#x…...

告别Visio!用WPF+MVVM打造属于你自己的业务流程设计器(附完整源码)

基于WPFMVVM构建企业级业务流程设计器的实战指南 在当今企业数字化转型浪潮中&#xff0c;业务流程管理系统(BPM)已成为提升运营效率的核心工具。传统Visio等绘图工具虽然功能强大&#xff0c;但往往难以与企业内部系统深度集成&#xff0c;且缺乏动态交互能力。本文将带你从零…...

氨基酸表活洁面慕斯科普

一、什么是洁面慕斯洁面慕斯是一种预发泡型的洁面产品&#xff0c;和传统膏状、洗面奶不同&#xff0c;它从泵头挤出来就是细腻绵密的泡沫&#xff0c;不需要消费者手动打泡&#xff0c;使用起来更加方便快捷。从成分体系来看&#xff0c;洁面慕斯本质还是表面活性剂清洁产品&a…...

RAG检索体系①【第十一篇】:混合检索架构(BM25+向量+过滤),工业级召回落地方案

生产级 RAG 避坑实战合集【第十一篇】文章简介&#xff1a;前十篇我们彻底打通数据层改写层&#xff1a;文档清洗、Chunk切块、元数据、生命周期、Query双层改写。绝大多数人做完这些&#xff0c;直接无脑上单向量检索。线上投产全部翻车。本文直击行业痛点&#xff1a;纯向量检…...

AI数据标注实战:如何高效、准确地标注训练数据

在AI模型的开发与迭代过程中&#xff0c;数据标注是连接原始数据与智能算法的关键桥梁&#xff0c;其质量与效率直接决定了模型的性能上限。对于软件测试从业者而言&#xff0c;掌握高效、准确的数据标注方法&#xff0c;不仅能为AI模型提供可靠的训练“食粮”&#xff0c;更能…...

[题材选股] 商业航天、人形机器人双主线高位震荡,低位氟化工、光伏迎补涨机会!股票量化分析工具QTYX-V3.4.8

前言我们的股票量化系统QTYX在实战中不断迭代升级!!!分享QTYX系统目的是提供给大家一个搭建量化系统的模版&#xff0c;帮助大家搭建属于自己的系统。因此我们提供源码&#xff0c;可以根据自己的风格二次开发。关于QTYX的使用攻略可以查看链接&#xff1a;QTYX使用攻略QTYX一直…...

Vue3 表单深度解析

Vue3 表单深度解析 引言 随着前端技术的发展,Vue.js 已经成为最受欢迎的前端框架之一。Vue3 作为 Vue.js 的最新版本,带来了许多改进和新特性。其中,表单处理是 Vue3 中一个非常重要的部分。本文将深入解析 Vue3 表单的用法、特点以及最佳实践。 Vue3 表单概述 在 Vue3 …...

视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控

长久以来&#xff0c;图形图像可视化技术早已成为智慧安防、低空管控、工业监测领域的主流应用&#xff0c;依托高清视频、三维实景、数字孪生图形图像能力&#xff0c;实现场景直观呈现、目标可视追踪、环境全景复刻&#xff0c;为各行各业搭建起可视化智慧管理体系。深耕图形…...

Skill 不是 Prompt 模板,而是 Code Agent 的领域知识接口

很多人第一次把 Code Agent 接进老项目&#xff0c;都会经历一个落差&#xff1a; Demo 里它能十分钟写完一个 CRUD&#xff1b;一进真实业务系统&#xff0c;它开始犯一些“刚入职新人”才会犯的错。 它能看懂 Controller&#xff0c;却不知道这个字段为什么不能改&#xff…...

JoyCon-Driver:Windows平台上的Switch手柄完美解决方案

JoyCon-Driver&#xff1a;Windows平台上的Switch手柄完美解决方案 【免费下载链接】JoyCon-Driver A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller 项目地址: https://gitcode.com/gh_mirrors/jo/JoyCon-Driver 还在为Nintendo Switch JoyCon控制器…...