【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 的优点

  1. 快速集成框架
    • Spring Boot 提供了 启动添加依赖 的功能,用于秒级集成各种框架
    • (创建项目前后都可以方便的添加依赖,打 √ 的方式)
  2. 内置运行容器
    • 无需配置 Tomcat等 Web容器,Spring Boot一个项目就包含了一整个 Tomcat!
      • 自然就不需要之前开发的一系列配置
    • 直接运行和部署程序
  3. 快速部署项目
    • 无需外部容器 即可启动并运行项目
    • 使用jar包,加上简单的命令就可以运行
      • 无需像之前那样,得删除原来的,然后再部署过去
  4. 可以完全抛弃繁琐的XML方式去配置
    • 使用注解和配置的方式进行开发
    • 一开始就是空白的,需要自主配置的才去写,一些固定的配置不需要
  5. 支持更多的监控指标
    • 可以更好的了解项目的运行情况

在后面的学习中,你会有更深的体验!

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里面一个重点就是:“约定大于配置”

  • 所以遵循一些约定,才能好好地去开发
  • 不再是强硬要求你去搞一些配置,一些依赖,更多的是遵守约定

目前需要提到的约定就是:

  1. 只有与启动类同级或者是其子目录的类有效
  2. 配置文件的文件名只有是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端口

在这里插入图片描述

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

在这里插入图片描述

效果:
在这里插入图片描述

6. 不遵循约定的案例

【每次改动都需要重新启动程序!】

6.1 类的位置

正确位置:

在这里插入图片描述

改动后:

在这里插入图片描述

运行结果:

在这里插入图片描述

在这里插入图片描述

就是找不到~

正确写法:

在这里插入图片描述

运行结果:

在这里插入图片描述

在这里插入图片描述

6.2 配置文件

在这里插入图片描述

在这里插入图片描述

通过配置文件设置端口~

运行结果:

在这里插入图片描述

正确写法:

在这里插入图片描述

运行结果:

在这里插入图片描述

7. 设置热部署

在之前,我们每次改动,都需要重新启动一下,项目才会自动部署去覆盖原本的~

而热部署则是随着项目的更改,自动帮我们重新启动(有点像vscode自动保存那样,但这个的工作量就比较多)

  • 所以能get 那个“热”的意思了吗🤣

设置流程:

在这里插入图片描述

  • 这一个设置后面需要给未来的项目设置

在这里插入图片描述

  • 这一个设置,未来的项目会统一

给未来的项目设置:

在这里插入图片描述

在这里插入图片描述

测试:

在这里插入图片描述


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

这是本文的代码:spring_boot_demo1/src/main/java/com/example/demo · 游离态/马拉圈2023年8月 - 码云 - 开源中国 (gitee.com)


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

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

相关文章

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型,专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…

#rust taur运行报错#

场景:在window11系统上运行 tauri桌面莹应用,提示错误。 Visual Studio 2022 生成工具 安装的sdk11 , rust运行模式是stable-x86_64-pc-window-gnu, 运行npm run tauir dev 一致失败,失败信息如下 原因:1:在window11系…

UE4查看加密PAK里边的资源Android/iOS/PC方法

我们经常会需要把1个模型进行减面然后在移动端使用,有时候会出现移动端模型和PC端模型不一致的问题,这时候就需要将移动端的模型和PC端的模型进行对比,找到问题出现的原因,检查Mesh、Normal、UV0、UV1、MaterialId、碰撞等是否一致。 如何打包Pak文件,见这篇文章:UE4打包…

【GEMM预备工作】行主序和列主序矩阵的内存中的连续性,解决理解问题

在内存存储中,默认矩阵是按照行优先储存的,即矩阵的每一列在内存中是连续的。行优先矩阵储存中行数据是不连续的。 而对于列主序的矩阵,是按照列优先储存的,即矩阵的每一行在内存中是连续的。列优先矩阵储存中列数据是不连续的&am…

物联网|按键实验---学习I/O的输入及中断的编程|函数说明的格式|如何使用CMSIS的延时|读取通过外部中断实现按键捕获代码的实现及分析-学习笔记(14)

文章目录 通过外部中断实现按键捕获代码的实现及分析Tip1:函数说明的格式Tip2:如何使用CMSIS的延时GetTick函数原型stm32f407_intr_handle.c解析中断处理函数:void EXTI4_IRQHandler 调试流程软件模拟调试 两种代码的比较课后作业: 通过外部中断实现按键捕获代码的实…

MGRE综合

实验 一、实验思路 1.先按照上图配置IP地址及环回 2.写缺省使公网可通 3.让R1、R4、R5每台路由器均成为中心站点形成全连网状结构拓扑 4.让R1成为中心站点R2R3为分支站点 5.分区域宣告ospf之后更改ospf在虚拟接口Tunnel工作方式为broadcast及让R1 当选DR 二、上虚拟机操作…

小白玩转浏览器开发者工具—F12(超详细)

目录 1、检查元素:🚀 2、修改样式:🛫 3、调试代码:👑 4、网络分析:🚂 5、控制台输出:🚁 6、移动设备模拟:🎨 7、缓存管理&…

强大的截图软件--Snipaste

这里写目录标题 前言Snipaste贴图并置顶标注功能 下载 前言 在工作中,我们经常需要保存当前屏幕的图片,虽然系统总是会自带一些截图工具,但似乎用起来总是不那个顺手,例如我们需要对图片进行一些标注,或者将图片贴在屏…

浏览器自动访问打开网址的软件小工具模拟测试

用微软框架写了个浏览器自动访问和打开网址的工具,进行测试模拟: 1、获取链接方式,可通过API接口返回JSON链接格式,也可以集成到文档手动录入链接由软件进行循环运行。 2、配置一些参数:数量、次数、时间间隔等 看下演…

《向量数据库指南》——使用 AI原生云向量数据库Milvus Cloud的好处

目录 3. 使用 Milvus Cloud的好处 a. 高效存储和检索 b. 高度灵活、可扩展 c. 高性能、高可用 d. 易用性 e. 可靠性 3. 使用 Milvus Cloud的好处 Milvus Cloud生态系统提供了有效的数据库监控、数据迁移和数据量估算工具。如果不想要花时间和精力维护 Milvus,也可以选择…

【网络基础进阶之路】设计网络划分的实战详解

PS:本要求基于华为的eNSP模拟软件进行 具体要求: 完成步骤: 1、对192.168.1.0/24进行子网划分 2、对每一个路由器进行IP的配置 3、开始静态路由的书写,在写之前,我们可以先对每一个路由器写一条通向右边的缺省路由&…

vue videojs视频播放插件 动态资源

概览&#xff1a;使用vediojs第三方视频播放插件&#xff0c;视频加载有两种方式&#xff0c;第一种是html方式&#xff0c;类似于img标签的src&#xff0c;写在video标签内的<source src>&#xff1b;第二种方式是js方式&#xff0c;实例化一个videojs对象并且赋值src。…