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


相关推荐
一只小青团19 分钟前
Python之面向对象和类
java·开发语言
好奇的菜鸟20 分钟前
Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
数据库·spring boot·sql
qq_529835351 小时前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
落笔画忧愁e1 小时前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
来自宇宙的曹先生1 小时前
视频网站弹幕系统简易实现
spring boot·音视频
秋千码途3 小时前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇3 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
时来天地皆同力.4 小时前
Java面试基础:概念
java·开发语言·jvm
找不到、了4 小时前
Spring的Bean原型模式下的使用
java·spring·原型模式
阿华的代码王国4 小时前
【Android】搭配安卓环境及设备连接
android·java