【JavaEE】Spring Boot - 项目的创建和使用
【JavaEE】Spring Boot 开发要点总结(1)
文章目录
- 【JavaEE】Spring Boot 开发要点总结(1)
- 1. Spring Boot 的优点
- 2. Spring Boot 项目创建
- 2.1 下载安装插件
- 2.2 创建项目过程
- 2.3 加载项目
- 2.4 启动项目
- 2.5 删除一些没用的文件
- 3. Spring Boot 工程目录结构
- 3.1 main
- 3.2 test
- 3.3 target
- 3.4 依赖管理
- 4. 网页的方式去创建
- 5. 项目的使用(打印HelloWorld)
- 6. 不遵循约定的案例
- 6.1 类的位置
- 6.2 配置文件
- 7. 设置热部署
【JavaEE】Spring Boot 开发要点总结(1)
Spring框架是为了简化Java程序的开发的,而Spring Boot框架则是为了简化Spring程序开发的
Spring Boot,也就是Spring 脚手架
现实中的脚手架是这样的:
通过这个脚手架,我们就可以更快速方便的盖房子,并且房子建得会更好
而Spring Boot,就是Spring代码的脚手架,让我们更加方便的去开发~
- 在之前的学习中,Spring项目是普通的Maven项目,一些麻烦的地方避免不了
- 而Spring Boot的出现,解决了一系列麻烦
框架就是这样,将一些繁琐的操作包装起来,成为“地基/骨架”,让开发者在框架之上开发
1. Spring Boot 的优点
- 快速集成框架
- Spring Boot 提供了 启动添加依赖 的功能,用于秒级集成各种框架
- (创建项目前后都可以方便的添加依赖,打 √ 的方式)
- 内置运行容器
- 无需配置 Tomcat等 Web容器,Spring Boot一个项目就包含了一整个 Tomcat!
- 自然就不需要之前开发的一系列配置
- 直接运行和部署程序
- 无需配置 Tomcat等 Web容器,Spring Boot一个项目就包含了一整个 Tomcat!
- 快速部署项目
- 无需外部容器 即可启动并运行项目
- 使用jar包,加上简单的命令就可以运行
- 无需像之前那样,得删除原来的,然后再部署过去
- 可以完全抛弃繁琐的XML方式去配置
- 使用注解和配置的方式进行开发
- 一开始就是空白的,需要自主配置的才去写,一些固定的配置不需要
- 支持更多的监控指标
- 可以更好的了解项目的运行情况
在后面的学习中,你会有更深的体验!
2. Spring Boot 项目创建
2.1 下载安装插件
下载前叫做:Spring Boot Helper

下载后叫做:Spring Initializr and Assistant

这样才能选择创建这个项目:

2.2 创建项目过程
本质上就是在这个网站上去创建项目的,但是IDEA的工作就是代替这个操作,并且创建出来的项目放在我们想要的目录下,比较方便
- 网站创建Spring Boot项目随后单独演示
其他源就不做介绍了,感兴趣的可以自行了解
start.aliyun.com:
保持网络通畅,因为IDEA这个适合就是在访问那个源了:

设置项目配置:

- 不需要打war包,否则会导致一些不必要的问题
创建前的导入依赖(打 √ 的方式)
这些依赖包,后面就有很重要的作用~
- 例如DevTools这个包,后面就可以支持热部署~
2.3 加载项目
这个启动类还是红色的,说明没有加载好

这样子做:


点击reload,这样就可以加载项目了


默认给你加了这个 .RELEASE,要删掉
重新reload:
- 要配置国内源哦
- 【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识_s:103的博客-CSDN博客

耐心等待加载完毕,注意网络通畅

2.4 启动项目
- 点绿色小三角,或者快捷键~


2.5 删除一些没用的文件
我们IDEA有可视化的插件,也用不着这些命令行指令
- 用命令行怎么做,在之前说过,传送门:博客

直接Delete:


3. Spring Boot 工程目录结构
3.1 main

配置文件:空空如也
- 这就是前面说的方便性,需要配置才配置

如设置端口号:
Spring里面一个重点就是:“约定大于配置”
- 所以遵循一些约定,才能好好地去开发
- 不再是强硬要求你去搞一些配置,一些依赖,更多的是遵守约定
目前需要提到的约定就是:
- 只有与启动类同级或者是其子目录的类有效
- 配置文件的文件名只有是application,才会再启动项目时自动生效
- 并且配置文件的名字应该是 application-xxx.properties或者application-xxx.yml
- 这两种配置文件在后续学习重点讲解~
3.2 test

单元测试则需要学习一些测试知识,后续会更新这方面内容
3.3 target

这个就是上面的代码生成的字节码,这是运行所必备的
这个目录可以直接删除,反正每次都会生成~

3.4 依赖管理
pom.xml就是maven的核心配置文件 => 管理依赖

可以看到,刚才在创建之前勾中的几个依赖就出现在这了~
现在创建之后,我们也可以进行快速导入依赖:
下载安装插件:EditStarters
在pom.xml内右键:
选择这个:
选择官方源:
可视化的去选择和导入想要的依赖:
- 可能比较老,所以一些依赖没有,得自己去找
出现在右侧:
点击OK,在外面reload:
- 这样依赖就导入了
这样就可以移除了:
点击OK:
- 依赖就不见了~
4. 网页的方式去创建
传送门:Spring Initializr

跟刚才差不多的操作:

点击选择依赖:
点击 - 就可以删除了~
点击GENERATE:

就会生成一个项目压缩包:


然后还是得用IDEA去打开~
5. 项目的使用(打印HelloWorld)

-
创建一个类,加上注解,至于原理什么的,这是之后的事儿~
-
@RestController注解就是两者之和

设置路由:

浏览器访问:
- 格式:127.0.0.1:[端口号]/[路由]
- 不需要项目名,因为一个项目就是单独的Tomcat,单独的一个端口号
- 就不再是多个项目共用一个Tomcat端口

- 项目可能没有启动
- 端口号可能被我们改了

效果:

6. 不遵循约定的案例
【每次改动都需要重新启动程序!】
6.1 类的位置
正确位置:

改动后:

运行结果:
就是找不到~
正确写法:

运行结果:
6.2 配置文件


通过配置文件设置端口~
运行结果:
正确写法:

运行结果:
7. 设置热部署
在之前,我们每次改动,都需要重新启动一下,项目才会自动部署去覆盖原本的~
而热部署则是随着项目的更改,自动帮我们重新启动(有点像vscode自动保存那样,但这个的工作量就比较多)
- 所以能get 那个“热”的意思了吗🤣
设置流程:
- 这一个设置后面需要给未来的项目设置
- 这一个设置,未来的项目会统一
给未来的项目设置:
测试:
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆!这是本文的代码:spring_boot_demo1/src/main/java/com/example/demo · 游离态/马拉圈2023年8月 - 码云 - 开源中国 (gitee.com)
相关文章:
【JavaEE】Spring Boot - 项目的创建和使用
【JavaEE】Spring Boot 开发要点总结(1) 文章目录 【JavaEE】Spring Boot 开发要点总结(1)1. Spring Boot 的优点2. Spring Boot 项目创建2.1 下载安装插件2.2 创建项目过程2.3 加载项目2.4 启动项目2.5 删除一些没用的文件 3. Sp…...
Git reset、revert用法
reset reset是删除之前的提交记录,所有的提交点都会被清除,我们看下执行前后的git log区别 D:\workspace\android>git log commit 87c1277a57544c53c603b04110e3dde100da8f57 (HEAD -> develop_main) Author: test <test.com> Date: Wed…...
Redis-1
Redis 理论部分 redis 速度快的原因 1、纯内存操作 2、单线程操作,避免了频繁的上下文切换和资源争用问题,多线程需要占用更多的 CPU 资源 3、采用了非阻塞 I/O 多路复用机制 4、提供了非常高效的数据结构,例如双向链表、压缩页表和跳跃…...
【Linux】Linux服务器连接百度网盘:实现上传下载
【Linux】Linux服务器连接百度网盘:实现上传下载 文章目录 【Linux】Linux服务器连接百度网盘:实现上传下载1. 前言2. 具体过程2.1 pip 安装所需包2.2 认证(第一次连接需要认证)2.3 下载所需文件或者目录2.4 其他指令使用2.5 注意…...
ADC模拟看门狗
如果被ADC转换的模拟电压低于低阀值或高于高阀值,AWD模拟看门狗状态位被设置。阀值位 于ADC_HTR和ADC_LTR寄存器的最低12个有效位中。通过设置ADC_CR1寄存器的AWDIE位 以允许产生相应中断。通过以下函数可以进行配置 void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx…...
google谷歌gmail邮箱账号注册手机号无法进行验证怎么办?此电话号码无法用于进行验证 或 此电话号码验证次数太多
谷歌gmail邮箱账号注册手机号无法进行验证怎么办? 使用手机号码注册谷歌gmail邮箱账号时会遇到:此电话号码无法用于进行验证 或 此电话号码验证次数太多。造成注册google谷歌gmail邮箱账号受阻,无法正常完成注册。 谷歌Gmail邮箱账号正确的注册方法与教…...
Spring:IOC技术、Bean、DI
前言 Spring是一个开源的项目,并不是单单的一个技术,发展至今已形成一种开发生态圈。也就是说我们可以完全使用Spring技术完成整个项目的构建、设计与开发。Spring是一个基于IOC和AOP的架构多层j2ee系统的架构。 SpringFramework:Spring框架…...
目标检测与跟踪 (2)- YOLO V8配置与测试
系列文章目录 第一章 目标检测与跟踪 (1)- 机器人视觉与YOLO V8 目标检测与跟踪 (1)- 机器人视觉与YOLO V8_Techblog of HaoWANG的博客-CSDN博客3D物体实时检测、三维目标识别、6D位姿估计一直是机器人视觉领域的核心研究课题&a…...
【Leetcode】56.合并区间
一、题目 1、题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [ s t a r t i start_i start...
设置系统编码 Beta
在yolov5环境搭建过程中会遇到如下的编码错误警告: 这时,按住“ctrlc”中止进程,然后设置系统编码: 电脑右键属性打开: 重启之后等安装好了,记得回去把bae键取消。...
phpunit
composer地址:phpunit/phpunit - Packagist 官方文档:PHPUnit文档 – PHP测试框架 PHPUnit是一个框架,最为hyperf学习的补充学习,就不写这么细了。 估计写下安装和使用,具体学习内容看文档。 一、安装 需安装扩展:…...
html学习9(脚本)
1、<script>标签用于定义客户端脚本,比如JavaScript,既可包含脚本语句,也可通过src属性指向外部文件。 2、JavaScript最常用于图片操作、表单验证及内容动图更新。 3、<noscript>标签用于在浏览器禁用脚本或浏览器不支持脚本&a…...
SpringBoot整合Caffeine
一、Caffeine介绍 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存,到客户端的页面缓存,处处都存在着缓存的身影。缓存从本质上来说,是一种空间换时间的手段,通过对数据进行一定的空间安排,使得下…...
元宇宙虚拟展厅的特点是什么呢?优势有哪些?
元宇宙是一个很广阔的虚拟世界,它可以创造出更为丰富、沉浸式的体验,这种全新的体验为展览和艺术领域带来了更多的可能性,元宇宙虚拟展厅以其多样化、互动性、沉浸式展示的特点,带领大家进入一个虚拟现实的全新世界。 元宇宙虚拟展…...
Day11-Webpack前端工程化开发
Webpack 一 webpack基本概念 遇到问题 开发中希望将文件分开来编写,比如CSS代码,可以分为头部尾部内容,公共的样式。 JS代码也希望拆分为多个文件,分别引入,以后代码比较好维护。 本地图片,希望可以实现小图片不用访问后端,保存在前端代码中就可以了 运行程序时我…...
什么是函数式编程,应用场景是什么
什么是函数式编程,应用场景是什么 函数式编程和面向对象编程一样,是一种编程规范。强调执行的过程而非结果,通过一系列的嵌套的函数调用,完成一个运算过程。它主要有以下几个特点: 1.函数是"一等公民"&…...
Vue3之路由认识
回顾: 原来的vue2路由是通过this. r o u t e 和 t h i s . route和this. route和this.router来控制的。现在vue3有所变化,useRoute相当于以前的this. r o u t e ,而 u s e R o u t e r 相当于 t h i s . route,而useRouter相当于t…...
P1775 石子合并(弱化版)(内附封面)
石子合并(弱化版) 题目描述 设有 N ( N ≤ 300 ) N(N \le 300) N(N≤300) 堆石子排成一排,其编号为 1 , 2 , 3 , ⋯ , N 1,2,3,\cdots,N 1,2,3,⋯,N。每堆石子有一定的质量 m i ( m i ≤ 1000 ) m_i\ (m_i \le 1000) mi (mi≤1000)。…...
jmeter之接口测试(http接口测试)
基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识: 1、什么是接口:前端与后台之间的…...
webpack基础知识二:说说webpack的构建流程?
一、运行流程 webpack 的运行流程是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条webpack机制中,去改变webpack的运作,使得整个系统扩展…...
《生产级性能监控实战:基于 Spring AOP + 消息提醒的智能告警系统设计与实现》
一、引言1.1 痛点场景在生产环境中,性能问题往往比业务缺陷更难以察觉,也更具破坏力。你是否也遇到过以下困境:生产环境性能问题难以发现?接口响应从 200ms 逐渐恶化到 5 秒,用户感知强烈,监控系统却毫无告…...
PalmSens4电化学分析仪
集恒电位/恒电流/阻抗分析(EIS)于一体,电池USB双供电,带蓝牙与触屏,支持循环伏安(CV/FCV)、线性扫描(LSV)、差分脉冲(DPV)、方波伏安(…...
s2-pro音色克隆教程:解决参考音频背景噪音导致失真的处理技巧
s2-pro音色克隆教程:解决参考音频背景噪音导致失真的处理技巧 s2-pro是Fish Audio开源的专业级语音合成模型镜像,支持文本转语音,并可以通过参考音频复用音色。本文将重点介绍如何处理参考音频中的背景噪音问题,确保音色克隆效果…...
Qwen3.5-9B-AWQ-4bit效果实测:不同光照/角度图片的主体识别准确率展示
Qwen3.5-9B-AWQ-4bit效果实测:不同光照/角度图片的主体识别准确率展示 1. 模型能力概述 千问3.5-9B-AWQ-4bit是一个支持图像理解的多模态模型,能够结合上传图片与文字提示词,输出中文分析结果。这个量化版本特别适合处理图片主体识别、场景…...
CasRel模型部署教程:使用Triton推理服务器实现高并发SPO服务
CasRel模型部署教程:使用Triton推理服务器实现高并发SPO服务 1. 认识CasRel关系抽取模型 CasRel(Cascade Binary Tagging Framework)是一个专门从文本中提取结构化信息的强大模型。想象一下,你有一大段文字,里面包含…...
从课程设计到毕业设计:手把手教你用STC89C52和DS1302做一个带温度显示的电子钟(附完整代码)
从课程设计到毕业设计:STC89C52与DS1302打造高精度温度显示电子钟实战指南 1. 项目规划与硬件选型 在开始动手之前,我们需要对整个项目进行系统性的规划。一个完整的电子钟系统需要考虑时间显示、温度监测、用户交互和电源管理等多个功能模块。对于高校电…...
OpenClaw+Qwen3-14B私有镜像实战:飞书机器人自动回复配置指南
OpenClawQwen3-14B私有镜像实战:飞书机器人自动回复配置指南 1. 为什么选择这个组合? 上周三凌晨2点,我被飞书消息提示音吵醒——团队新人又在加班调试代码。这已经是本周第三次了。作为技术负责人,我意识到需要一种更智能的解决…...
COMSOL锂枝晶生长仿真模拟:四场耦合(化学场、浓度场、电场、应力场)
comsol锂枝晶生长仿真模拟-应力耦合。 化学场、浓度场、电场、应力场,四场耦合模拟锂枝晶的生长。锂金属负极在固态电池中总爱搞事情,枝晶刺穿隔膜的戏码天天上演。实验室里做破坏性测试成本太高,数值仿真就成了预判枝晶生长路径的透视眼。CO…...
在Vivado里调通3/4删余卷积码Viterbi译码:从分支度量到回溯的完整避坑指南
Vivado平台实现3/4删余卷积码Viterbi译码的工程实践 在数字通信系统中,卷积码因其优异的纠错性能被广泛应用。802.11a等标准中采用的删余卷积码技术,通过有选择地删除部分编码比特来提高码率。本文将深入探讨如何在Vivado平台上实现3/4删余卷积码的Viter…...
OpenClaw+Qwen3-14B镜像实战:5分钟搭建飞书智能助手
OpenClawQwen3-14B镜像实战:5分钟搭建飞书智能助手 1. 为什么选择这个组合? 上周三晚上11点,我正在为第二天的部门会议整理材料时,突然冒出一个想法:能不能让AI自动处理这些重复性工作?经过一番折腾&…...
































