【JavaEE】Spring Boot - 项目的创建和使用

【JavaEE】Spring Boot 开发要点总结(1)

文章目录

  • [【JavaEE】Spring Boot 开发要点总结(1)](#【JavaEE】Spring Boot 开发要点总结(1))
    • [1. Spring Boot 的优点](#1. Spring Boot 的优点)
    • [2. Spring Boot 项目创建](#2. Spring Boot 项目创建)
      • [2.1 下载安装插件](#2.1 下载安装插件)
      • [2.2 创建项目过程](#2.2 创建项目过程)
      • [2.3 加载项目](#2.3 加载项目)
      • [2.4 启动项目](#2.4 启动项目)
      • [2.5 删除一些没用的文件](#2.5 删除一些没用的文件)
    • [3. Spring Boot 工程目录结构](#3. Spring Boot 工程目录结构)
      • [3.1 main](#3.1 main)
      • [3.2 test](#3.2 test)
      • [3.3 target](#3.3 target)
      • [3.4 依赖管理](#3.4 依赖管理)
    • [4. 网页的方式去创建](#4. 网页的方式去创建)
    • [5. 项目的使用(打印HelloWorld)](#5. 项目的使用(打印HelloWorld))
    • [6. 不遵循约定的案例](#6. 不遵循约定的案例)
      • [6.1 类的位置](#6.1 类的位置)
      • [6.2 配置文件](#6.2 配置文件)
    • [7. 设置热部署](#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:

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

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)


相关推荐
李昊哲小课9 小时前
LLM API 协议代理 —— 从零到一全栈教程
spring boot·语言模型·大模型·openai·webclient·restclient·anthropic
Yyyyyy~9 小时前
【java】数组的定义和使用
java
麻辣布丁9 小时前
java集合篇面试模拟
java·开发语言·面试
niucloud-admin9 小时前
JAVA V6 多商户商城 开发文档——插件开发规范
java·开发语言
嘟哩DuliDuli9 小时前
创作 Agent 的任务状态该如何保存
android·java·javascript
wdfk_prog9 小时前
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站
java·运维·缓存·docker·容器
Token掘金室9 小时前
JSON模式结构化输出报错
java·服务器·json
秋饼10 小时前
Spring AI 2.0 接入 DeepSeek V4.1 Flash 生产级实战
java·ai·技术分享·后端开发
IT枫斗者枫哥10 小时前
Java 分批导出仍然 OOM?用 32 MiB 堆复现三种 CSV 写法
java
shehuiyuelaiyuehao10 小时前
算法43,外观数列,模拟算法+双指针
java·算法