首页 > 编程语言 >初始JavaEE篇 —— 快速上手 SpringBoot

初始JavaEE篇 —— 快速上手 SpringBoot

时间:2025-01-20 09:29:41浏览次数:3  
标签:SpringBoot 项目 创建 JavaEE Framework Spring 我们 初始

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

个人主页:我要学编程程(ಥ_ಥ)-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。

@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 的学习之旅 就到此结束啦!我们下一期再一起学习吧!

标签:SpringBoot,项目,创建,JavaEE,Framework,Spring,我们,初始
From: https://blog.csdn.net/2301_80854132/article/details/145146515

相关文章

  • SpringBoot整合RabbitMQ
    RabbitMQ简介消息中间件:它接收消息并且转发,就类似于一个快递站,卖家把快递通过快递站,送到我们的手上,MQ也是这样,接收并存储消息,再转发。RabbitMQ在2007年由Rabbit科技有限公司发布,是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中......
  • Shell SpringBoot 操作
    通过shell脚本来操作SpringBoot,检查程序是否在运行,启动程序,停止程序,重启程序,输出程序状态#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME="$2"APP_DIR=/application#APP_DIR=`pwd`#使用说明,用来提示输入参数usage(){echo"Usage:shxxx.sh[......
  • 基于SpringBoot+Vue的智慧党建平台设计与实现
    ......
  • 2025毕设springboot 基于web的家教管理系统论文+源码
    系统程序文件列表开题报告内容研究背景在当今社会,随着教育需求的多元化和个性化发展,家教服务逐渐成为众多家庭补充学校教育、提升孩子学习成绩的重要途径。然而,传统的家教市场存在信息不对称、管理不规范、服务质量参差不齐等问题,给家长和家教老师带来了诸多不便。随着互联......
  • 2025毕设springboot 基于Web的多功能游戏平台设计与实现论文+源码
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和普及,网络游戏已成为人们休闲娱乐的重要方式之一。传统的游戏平台大多局限于单一的游戏类型或服务商,无法满足用户多样化的游戏需求。与此同时,随着Web技术的不断进步,基于Web的游戏平台凭借其跨平台、易访问、......
  • 计算机毕业设计Springboot大学生创新教育平台 基于Springboot的大学生创新创业教育平
    计算机毕业设计Springboot大学生创新教育平台3ky241z7(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着全球经济和科技的快速发展,创新已成为推动社会进步的重要动力。大学生作为未来社会的主要建设者和创新者,其创新能力的培养和......
  • 计算机毕业设计Springboot服装租赁系统 基于Spring Boot框架的服装租赁平台开发 Sprin
    计算机毕业设计Springboot服装租赁系统4jrvt1zd(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着时尚潮流的快速更迭,人们对于服装的需求日益多样化,但购买大量服装不仅成本高昂,还可能造成资源浪费。服装租赁系统应运而生,它为用户......
  • windows快速部署minIO,springboot快速集成
    一、Windows快速部署1.在MinIO官网下载Windows版本2.只需要下载minIOserver即可 3.在下载好的文件夹下打开cmd我是下载到了D:\MinIOminio.exeserverD:\MinIO\Data--console-address":9000"--address":9090" 在浏览器输入localhost:9000即可正常使用4.每次都要......
  • 计算机毕业设计Springboot洗衣店管理系统 基于SpringBoot的智能洗衣店管理系统 洗衣店
    计算机毕业设计Springboot洗衣店管理系统74t7o5qc(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着人们生活水平的提高和时间成本的增加,越来越多的人选择将洗衣服务外包给洗衣店。洗衣店行业逐渐发展壮大,但同时也面临着管理难题......
  • 计算机毕业设计Springboot线上考试系统的设计与实现 基于Springboot的在线考试系统设
    计算机毕业设计Springboot线上考试系统的设计与实现vi4cf717(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着信息技术的迅猛发展,教育领域也在逐步实现信息化。线上考试系统作为这一趋势下的产物,能够充分利用计算机和网络资源,实......