【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)


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

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

相关文章

python 连接oracle pandas以简化excel的编写和数据操作

python代码 Author: liukai 2810248865qq.com Date: 2022-08-18 04:28:52 LastEditors: liukai 2810248865qq.com LastEditTime: 2023-07-06 22:12:56 FilePath: \PythonProject02\pandas以简化excel的编写和数据操作.py Description: 这是默认设置,请设置customMade, 打开koro…

大厂架构笔记 暂记 :Airbnb,可汗学院,来福车

Airbnb的架构 https://quastor.substack.com/p/airbnbs-architecturehttps://www.youtube.com/watch?vyGOtTd-l_3E我们将介绍每个体系结构,并讨论其优缺点以及迁移Airbnb原因。我们将介绍每个体系结构,并讨论其优缺点以及迁移Airbnb原因。我们将介绍每…

无涯教程-Perl - Subroutines(子例程)

定义子程序 Perl编程语言中 Subroutine子程序定义的一般形式如下: sub subroutine_name {body of the subroutine } 调用该Perl Subroutine的典型方式如下- subroutine_name( list of arguments ); 在Perl 5.0之前的版本中,调用 Subroutine的语法略有不同&…

过去几十年来,主要湖泊遭受了严重的水流失

一项新的研究表明,干旱和潮湿地区的损失是全球性的,可能对地球四分之一的人口产生重大影响。 美国宇航局的地表水和海洋地形任务(如图所示)在轨道上运行,将扫描湖泊和水库,为全球湖泊水储存估计提供新数据…

【Python机器学习】实验08 决策树

文章目录 决策树1 创建数据2 定义香农信息熵3 条件熵4 信息增益5 计算所有特征的信息增益,选择最优最大信息增益的特征返回6 利用ID3算法生成决策树7 利用数据构造一颗决策树Scikit-learn实例决策树分类决策树回归Scikit-learn 的决策树参数决策树调参 实验1 通过sk…

weblogic XML反序列化分析——CVE-2017-10271

环境 https://vulhub.org/#/environments/weblogic/CVE-2017-10271/ 启动环境 docker-compose up -d代码审计 传入参数 中间跟进函数 最后的出口 没有限制,直接包参数传入xmlDecoder public String readLine() throws IOException {return (String)this.xml…

css实现卡片的左上角有一个三角形的遮盖效果

需求: 卡片的左上角有一个绿色的三角形标签,用来区分状态 实现: .vCard{position: relative;overflow: hidden; } .vCard::before {content: "";position: absolute;top: 0;left: 0;width: 0;height: 0;border-bottom: 20px solid transparent;border-left: 20px …

OPENCV C++(四)形态学操作+连通域统计

形态学操作 先得到一个卷积核 Mat kernel getStructuringElement(MORPH_RECT,Size(5,5)); 第一个是形状 第二个是卷积核大小 依次为腐蚀 膨胀 开运算 闭运算 Mat erodemat,dilatemat,openmat,closemat;morphologyEx(result1, erodemat, MORPH_ERODE, kernel);morphologyEx…

R语言中数据重塑(长宽表的转化)

学习笔记,仅供学习使用。 目录 1-什么是整洁的数据? 2-宽表变成长表 示例1: 示例2: 示例3: 3-长表变宽表 示例1: 示例2: 1-什么是整洁的数据? 按照Hadley的表述&#xf…

利用abapGit的离线模式导出、导入开发对象

1. 背景 abapGit是为ABAP服务器开发的开源Git客户端,用于在ABAP系统之间导入和导出ABAP对象。 使用abapGit,可以将ABAP对象从任何系统导出到另一个系统,通常是从本地系统导出到云,或者从一个云系统导出到另一个云系统。 当然从…

使用Vscode编辑keil工程

一、需要安装的插件 1. Keil Assistant 2. C/C 3. 中文配置: 二、插件配置 1. Keil Assistant 添加Keil的安装路径 接下来就可以使用vscode编辑Keil的工程了,调试编译和下载程序需要返回到Keil中进行操作。 三、Vscode常用快捷键 可以自定义进行配置…

设计模式行为型——中介者模式

目录 什么是中介者模式 中介者模式的实现 中介者模式角色 中介者模式类图 中介者模式代码实现 中介者模式的特点 优点 缺点 使用场景 注意事项 实际应用 什么是中介者模式 中介者模式(Mediator Pattern)属于行为型模式,是用来降低…

软件为什么要进行性能压力测试?

软件为什么要进行性能压力测试?随着软件应用的不断增多和复杂度的提高,软件的性能对用户体验和业务成功至关重要。性能问题可能导致软件运行缓慢、崩溃或无响应,给用户带来不便甚至损失。为了确保软件能够在高负载和压力下正常运行&#xff0…

微波光子的参数:动态范围

微波光子的参数:无杂散动态范围 无杂散动态范围的定义 微波光子链路中的非线性失真主要由电光调制器的非线性调制产生,这些非线性失真可以分为谐波失真和交调失真两类。图1.2(a)给出了光信号在调制器内被一个频率为10 GHz的射频…

国内做软件行业总是不挣钱?

在国内,很多人都知道,软件最好和硬件结合起来卖,能获得更高的收益。这背后隐藏的意思是,软件作为一门生意,中国人认为没有硬件这门生意好。 在由中国电子信息行业联合会发布的2019年中国软件企业百强榜中,排…

IDEWA项目实践——mybatis的一些基本原理以及案例

系列文章目录 IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍_intellij 创建scala IDEA项目实践——动态SQL、关系映射、注解开发 文章目录 系列文章目录 1.MyBatis …

CleanMyMac真的有必要买吗 2023年最新CleanMyMac和腾讯柠檬详细解析

在如今的电脑使用过程中,保持电脑干净整洁是一项重要的任务。而随着Mac电脑越来越受欢迎,Mac电脑清理软件也愈发流行。在众多的Mac电脑清理软件中,CleanMyMac是一款备受好评的软件。但是,很多人还在犹豫CleanMyMac有必要买吗&…

你真的了解什么是生成式AI吗?

最近正好有这样的机会,让我给一群非技术人士介绍生成式AI,忙忙碌碌了一阵子,结果发现受众还是未能理解什么是生成式AI,到底和之前的AI有什么区别。因此希望此篇能够帮助普通人真正理解生成式AI,有个直观印象。 人工智…

C语言---数据结构实验---哈夫曼树及哈夫曼编码的算法实现---图的基本操作

文章目录 写在前面哈夫曼树及哈夫曼编码的算法实现实验内容代码实现 图的基本操作实验内容代码实现 写在前面 本篇实验代码非本人写,代码源自外部,经调试解决了部分warning和error后在本地vs上可以正常运行,如有运行失败可换至vs 未来会重构…

Zebec Payroll :计划推2出 WageLink On-Demand Pay,进军薪酬发放领域

“Zebec Protocol生态旨以Web3的方式建立全新的公平秩序,基于其流支付体系构建的薪酬支付板块,就是解决问题的一把利刃” Zebec Protocol在创立之初就有着一个十分宏大的愿景,其希望通过Web3的方式来进一步打破世界上一些不公平现象。 Zebec …