初始JavaEE篇 —— 快速上手 SpringBoot

ops/2025/1/23 9:37:09/

找往期文章包括但不限于本期文章中不懂的知识点:

个人主页:我要学编程程(ಥ_ಥ)-CSDN博客

所属专栏:JavaEE

目录

SpringBoot 相关介绍与解惑 

SpringBoot 项目的创建 

通过 官方提供的网页 来创建

通过 IDEA 来创建

SpringBoot 项目的介绍

pom.xml文件

项目目录介绍

第一个Hello World程序


SpringBoot 相关介绍与解惑 

从今天开始,我们就真正地进入了JavaEE的学习了,前面学习的一切知识都只是为JavaEE做基础,而JavaEE主要是学习框架。今天我们就来学习SpringBoot框架。在正式学习SpringBoot之前,先来了解几个概念:Spring是什么?SpringBoot是什么?Spring Framework又是什么?以及三者之间的关系是什么?框架是啥?

先来解释一下框架的概念:

我们在日常生活中,见到盖房子时,都会先建立一个大致的框架,然后再去进行细致砌房屋;还有在写作文或者一篇文章时,都会先构建出其大体的思路(思维导图).... 这些都是属于框架。框架,可以理解为一个简易的成品,我们建立起框架之后,只需在原本的基础上进行砌墙以及粉刷工作即可。同理,我们在编写一个网页时,也只需将框架搭好,然后再进行各种砌墙以及粉刷工作即可。这就大大减少了咱们程序员重复造轮子的工作,节省了大量的时间。

Spring Framework:在最早期的时候,只有 Spring Framework 这一个框架,因此为了方便,就将 Spring Framework 简称为 Spring,但是后续随着框架越来越多,Spring 家族的成员也是越来越多,但还是有不少人将Spring Framework 看成是 Spring。因此,我们需要看具体的上下文开区分到底是指Spring Framework 还是 Spring家族。

Spring:其既可以代指 Spring 家族,也是可以代指 Spring Framework的。

SpringBoot:SpringBoot 是 Spring 家族中的一员。

我们也可以看一下现如今的Spring家族:

知道了这些概念之后,可能会有小伙伴奇怪:为什么我们不学Spring呢?而是先学SpringBoot呢?如今的,Spring家族成员虽然非常多,但是我们主要还是从Spring Framework 开始学习,但是Spring Framework还是过于"笨重",对于我们初学者并不是很友好,因此诞生了SpringBoot,其的出现就是为了简化Spring Framework对于网页开发的复杂程度。可以简单理解为SpringBoot是Spring Framework  进行了进一步的封装,更为简单地让我们使用。具体如下图所示:

SpringBoot 项目的创建 

SpringBoot 项目的创建分为两种方式:

通过 官方提供的网页 来创建

1、先在浏览器中搜索 Spring 找到 Spring Home 或者 直接输入 https://spring.io/ 

2、找到 projects,点击最下方的 Spring Initializr

3、进入界面之后,按照下面的流程填充对应的信息即可创建:

创建SpringBoot项目的流程:选择 Maven 来构建项目,选择 Java 语言,选择 SpringBoot 的版本,填充项目信息,选择打包方式,选择 Java 版本,添加依赖。 

注意:

1)在选择SpringBoot的版本时,一定要选择稳定版本,不要选择开发版本。snapshot 的中文意思为 快照 ,这里我们理解为开发版本。

2)我们在创建完成时,也可以先观察一下这个项目是否为我们所需要的项目(有没有创建错):

4、在创建完成之后,我们可以用IDEA去找到浏览器的本地存储,并打开即可。

上述创建项目的方式太过繁琐,因此我们后续创建SpringBoot项目都是使用IDEA来创建。

通过 IDEA 来创建

注意:IDEA的版本最好是专业版,社区版需要下载插件,而且这个插件也是需要付费的,因此我们直接使用专业版即可。如果是在校学生的话,可以直接申请专业版的,当然我们也可以在网上自行选取别的方式来使用专业版。

1、File -> New -> Project:

2、Spring Boot -> 初始化项目的信息:

3、选择对应的SpringBoot版本,以及添加依赖,最后创建即可:

注意:创建SpringBoot项目时,选择的SpringBoot版本与Java的版本要相互对应才行。

SpringBoot 3.x,需要Java17或更高的版本,SpringBoot 2.x 支持 Java8 - Java17。我们的项目使用的是Java17,既可以创建SpringBoot 2.x ,也可以创建SpringBoot 3.x。这样才能确保Spring Boot项目 对 Java 版本的兼容。

SpringBoot 项目的介绍

创建完SpringBoot项目之后,我们就可以来观察项目的相关文件以及代码目录了。

pom.xml文件

注意:

1、这里的父项目我们可以看到是 Spring Framework,也进一步证明了 SpringBoot 是对 Spring Framework 的进一步封装,而父项目就是用来简化Spring Boot项目的配置。这里可以理解为我们前面的继承知识,子类继承父类之后,父类相关的属性子类直接就可以使用,这里就是将相对复杂的配置给到了父项目,而在子项目中就不需要考虑这么多的问题了,直接使用即可。

2、这里pom文件中的内容并不只怎么多,还有一些URL相关的,这些与我们的项目没有直接的关联,可以直接删掉就行。

项目目录介绍

static:静态资源文件夹,比如前期学的 js、css、html 等静态文件所在之处,不需要服务器数据进行绑定的页面。

templates:模版资源文件夹,主要存放动态模板文件,比如JSP、Freemarker、Thymeleaf等需
要服务器动态渲染数据的文件。

第一个Hello World程序

进入JavaEE的学习之后,我们不再是像之前那样运行的结果全部在一个输出框中,而是在浏览器中来访问,也就是使用浏览器来进行交互。我们创建出一个SpringBoot项目之后,包路径下都会自带一个启动类以及一个启动方法。

注意:启动类是与注解有关,而与类名无关。这里之所以被称为是启动类,主要是由于这里存在一个@SpringBootApplication,至于这个类的名字,我们可以随意取。

当我们启动了启动类的main方法时,我们就可以在网络中来进行访问了。

接下来,我们就来学习怎么输出Hello World:

1、先找到对启动类所在的包,右击选择 New -> Java Class:

2、输入类名HelloController(最好后面带有Controller结尾,后续再学习): 

3、编写JavaSE阶段学习的Hello World即可。

4、在类上方加上注解:@RestController,并在方法上方加上注解:@RequestMapping。

java">@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "Hello World";}
}

5、找到启动类,并运行。

6、打开浏览器,在地址栏中输入 http://127.0.0.1:8080/hello 或者 http://localhost:8080/hello,回车即可。

经过上述步骤就会有下面的结果:

我们仔细观察会发现,JavaEE阶段的代码都是需要在JavaSE阶段的基础上加上注解的。

注意:

1、SpringBoot内置了Web服务器,即Tomcat,Web服务器负责接收来自客户端(比如浏览器)的 HTTP 请求,并返回相应的 HTTP 响应,因此我们在访问SpringBoot项目时,就是使用的http协议。而Tomcat的工作端口默认是8080,因此这里也是使用8080来访问。

2、如果不加上注解就是普通类,加上注解之后,就变成了请求响应类。

3、我们在启动了SpringBoot项目之后,会发现其是一直处于运行中的,并没有进程结束的标志,这是因为启动的SpringBoot项目是一个服务端,而服务端是一直处于运行状态的。当我们修改了服务端的代码之后,一切都得重新启动服务才能继续访问修改的部分。

这里我们简单的学习了SpringBoot项目的创建与编写代码,后续我们在来详细地学习SpringBoot中的注解。

常见错误以及解决方法

找不到主类或者无法加载主类: 

上图中,代码啥的都没有问题,但程序就是运行不起来。

如果我们仔细观察的话,会发现main目录下的java文件夹的颜色与普通文件夹的颜色并不差别,也就是说这里的java文件夹是一个普通的文件夹,但是我们需要的是源文件的根目录。因此得修改java文件夹为源文件的根目录。 

有两种解决方案:

方案一:

1、找到需要修改的文件夹,右击,找到 Mark Directory as:

2、选择需要修改为啥样的文件夹。例如,这里的java文件夹是需要修改为源文件根目录,因此点击 Sources Root。

方案二: 

1、找到 File -> Project Structure:

2、找到 Modules 右侧的 Mark as,与方案一的选择是一致的: 

3、点击右下方的 apply 与 OK 即可。

好啦!本期 初始JavaEE篇 —— 快速上手 SpringBoot 的学习之旅 就到此结束啦!我们下一期再一起学习吧!


http://www.ppmy.cn/ops/152433.html

相关文章

基于微信小程序的安心陪诊管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

微服务与docker

准备工作 在课前资料中给大家提供了黑马商城项目的资料,我们需要先导入这个单体项目。不过需要注意的是,本篇及后续的微服务学习都是基于Centos7系统下的Docker部署,因此你必须做好一些准备: Centos7的环境及一个好用的SSH客户端装好Docker会使用Docker如果是学习过上面Doc…

从大型企业到中小企业:销售易、红圈、励销云CRM的行业应用

在数字化转型的浪潮中,客户关系管理(CRM)系统已成为企业提升竞争力的关键工具。本文将对国内三大知名CRM品牌——销售易CRM、红圈CRM和励销云CRM进行深度分析,从品牌介绍和适用企业两个维度进行总结和盘点,帮助企业选择…

使用EasyExcel(FastExcel) 的模板填充报Create workbook failure

场景 使用 EasyExcel (FastExcel) 做数据导出时,用了通过模板导出数据的形式。 在读取模板文件的时候出现错误导致创建Workbook 失败, 错误日志: Create workbook failure... No valid entries or contents found, this is not a valid OOX…

MongoDB基本操作

一、实验目的 1. 熟悉MongoDB的基本操作,包括CRUD(增加、读取、更新、删除)。 2. 理解MongoDB的文档型数据库特性和Shell的使用。 3. 培养学生通过命令行操作数据库的能力。 4. 强化数据库操作的实际应用能力。 二、实验环境准备 1.…

基于 WPF 平台使用纯 C# 制作流体动画

一、引言 在 WPF 应用开发中,为界面添加生动的动画效果能显著提升用户体验。通常,我们会结合 XAML 和 C# 来打造各种动画,但今天我们聚焦于如何仅用纯 C# 在 WPF 平台上制作出令人惊艳的流体动画。这不仅能让开发者深入理解 WPF 动画机制&am…

电子电气架构 --- 智能电动汽车电子与其软件架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

AlphaFold3 一键部署,高准确性蛋白质建模工具

AlphaFold3 是由谷歌 DeepMind 公司于 2024 年开发的人工智能 (AI) 工具。AlphaFold 3 模型采用了基于扩散的架构,不仅能够预测蛋白质结构,还能精确预测包括核酸、小分子、离子和修饰残基在内的复合物结构。 与以往的专门工具相比,AlphaFold …