当前位置: 首页 > article >正文

【Spring 框架】初识 Spring

初识Spring

文章目录

  • 前言
  • 1. 什么是 Spring
  • 2. 什么是 Maven
  • 3. 第一个 SpringBoot 项目
  • 4. 项目讲解
  • 结语


前言

在前面我们一起学习了 JavaSE 的基础知识,随着学习的深入,我们也将逐步介绍 JavaEE 的内容,像 Spring 框架,Mybatis 等等。在本篇博客中,我将会简单介绍 Spring 和 Maven ,并创建一个基于 Spring Boot 框架的十分简单的 Web 应用程序


1. 什么是 Spring

官方网站 —— Spring | Home

SpringSpring 是一个轻量级的 Java 开源框架,核心思想是控制反转(IoC)和面向切面编程(AOP)

在广义上,Spring 指的是 Spring 全家桶,即一个生态体系,它包含了很多模块,如 Spring Framework、Spring Boot、Spring MVC 等,它能整合开源世界众多的第三方框架和类库,因此逐渐成为了使用最多的 Java EE 企业应用开源框架

在狭义上,Spring 又可以单指 Spring Framework 框架,因为 Spring Framework 是 Spring 生态系统的核心,控制反转和面向切面编程的核心思想就是由 Spring Framework 提供的

(在后面的学习中,我们说的 Spring 指的就是 Spring Framework)

Spring Boot

Spring Boot 是 Spring 生态系统中的一个模块,是一个为快速开发 Spring 应用程序而设计的框架。它通过提供一系列预配置的模板和默认设置,可以极大地简化了基于 Spring 的应用程序的配置和部署过程。简单来说, Spring Boot 是对 Spring 的进一步简化和封装~


2. 什么是 Maven

在上面我们提到了 —— “ Spring Boot 可以简化了基于 Spring 的应用程序的配置和部署过程 ”,而这其中,Maven 就发挥了巨大的作用

Maven 的概念

Maven 是一个项目管理和构建自动化工具,它使用一个名为 pom.xml 的文件来管理项目的构建、依赖、报告和文档。Maven 通过定义项目对象模型(Project Object Model, POM)来描述项目构建和依赖管理

在之前的博客 【MySQL】使用 JDBC 连接数据库 中,我们需要将 jar 包导入到项目中才能使用其中的 API,但是现在有了 pom.xml 的文件后,我们只需要把依赖加进去,就可以直接使用了

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>
  • <dependency>:这是 Maven 依赖配置的开始标签。
  • <groupId>:定义了依赖项所属的组或组织。在这个例子中,mysql 是组 ID,表示这个依赖项是由 MySQL 提供的。
  • <artifactId>:定义了具体的依赖项名称。在这个例子中,mysql-connector-java 是 MySQL JDBC 驱动的 artifact ID。
  • <version>:指定了依赖项的版本。在这个例子中,8.0.33 是 MySQL JDBC 驱动的版本号。
  • </dependency>:这是 Maven 依赖配置结束的标签

3. 第一个 SpringBoot 项目

此处我使用的是 idea 2023.3.2 专业版

第一步:创建 SpringBoot 项目,名字和路径任意

image-20241110152643787

第二步:选择 Spring Web 依赖,这样就不用我们自己手动添加了(此处 SpringBoot 的版本可能会不同,任选一个就好),点击创建

image-20241110152815691

(创建完后可能会加载很久,是正常现象,慢慢等就行)

介绍目录

我们可以把这些暂时用不到的东西给去掉,按 crtl +鼠标一个个选中,按 delete 删除

image-20241110153900297

在目录中,有一些地方需要我们重点关注:

  • src/main/java:我们写的代码就放在这里
  • src/main/resources:放置静态资源或者配置文件,我们通常把html等静态文件放在 /static 目录下
  • src/test/java:测试代码的地方,可以进行单元测试
  • pom.xml:放置 maven 配置文件

第三步:在 src/main/java 目录下,创建 UserController 类,使用注解 @RestController@RequestMapping

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello SpringBoot";
    }
}

第四步:点击右上角绿色启动按钮启动项目,或者选择在 DemoApplication 启动项目

image-20241110154916119

接着观察控制台的日志

image-20241110155010633

第五步:在浏览器中输入 http://127.0.0.1:8080/hello

image-20241110155141885

出现 “Hello SpringBoot”,就代表着项目运行成功!


4. 项目讲解

分析一下 UserController 类:

  • @RestController 注解:表明该类是一个控制器,让 Spring 将其作为 Web 控制器处理,并且会将方法的返回值直接作为 HTTP 响应体返回给客户端
  • @RequestMapping 注解:它可以将 HTTP 请求映射到特定的处理器方法上,在这里我们就是把将 /hello 路径映射到 hello() 方法上

image-20241110172128582

执行流程:当我们在浏览器地址栏输入 http://127.0.0.1:8080/hello 并访问时,Spring Boot 应用程序会启动一个内嵌的Web服务器(默认是 Tomcat),监听8080端口。当请求到达 /hello 路径时,Spring框架会调用 UserController 类中的 hello() 方法。这个方法处理请求并返回一个字符串 "Hello SpringBoot",这个字符串随后被发送回浏览器,浏览器显示为网页内容

以上就是一个非常非常简单的 SpringBoot 项目


结语

今天简单介绍了一下 Spring、Maven,并简单实现了一个 SpringBoot 项目,而关于更加复杂的项目,更多功能的实现,我会在后面的博客中会慢慢道来,敬请期待吧 (●’◡’●)

希望大家能够喜欢本篇博客,有总结不到位的地方还请多多谅解。若有纰漏,希望大佬们能够在私信或评论区指正,博主会及时改正,共同进步


http://www.kler.cn/a/388983.html

相关文章:

  • Linux 函数在多个地方被同时调用时,函数中的变量如何管理,确保互不影响
  • 【STM32F1】——无线收发模块RF200与串口通信
  • 深入理解BERT模型配置:BertConfig类详解
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • 【C++】C++11特性(上)
  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • 鸿蒙系统:安卓与iOS的强劲对手
  • Python与Excel交互:pandas库安装及基本用法
  • 专业140+总分410+东北大学841考研经验东大电子信息与通信工程通信专业基础真题,大纲,参考书
  • SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记
  • ThingsBoard规则链节点:Clear Alarm节点详解
  • Spark SQL大数据分析快速上手-DataFrame应用体验
  • jmeter常用配置元件介绍总结之用linux服务器压测
  • 如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
  • React的概念以及发展前景如何?
  • 2024-2025第九届华为ICT大赛中国创新赛问题解答
  • 【Python】Pygame实战:实现基础跑酷游戏机(附源码)
  • Redis设计与实现 学习笔记 第十六章 Sentinel
  • 前端实现文件下载常用几种方式
  • 计算机课程管理:Spring Boot实现的工程认证解决方案
  • 中仕公考:2025年各地区公务员招考公告汇总
  • 【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)
  • 关系数据的可视化——Python大数据可视化
  • Android 开启混淆R8编译问题处理
  • nVisual前端目录结构
  • [MySQL#14] 视图 | 用户管理 | 权限设置