【Spring 框架】初识 Spring

文章目录

  • 前言
  • [1. 什么是 Spring](#1. 什么是 Spring)
  • [2. 什么是 Maven](#2. 什么是 Maven)
  • [3. 第一个 SpringBoot 项目](#3. 第一个 SpringBoot 项目)
  • [4. 项目讲解](#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 的文件后,我们只需要把依赖加进去,就可以直接使用了

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 项目,名字和路径任意

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

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

介绍目录

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

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

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

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

java 复制代码
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 启动项目

接着观察控制台的日志

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

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


4. 项目讲解

分析一下 UserController 类:

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

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

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


结语

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

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

相关推荐
XiaoLeisj32 分钟前
【优选算法 — 滑动窗口】最大连续1的个数 & 将 x 减到0的最小操作数
java·开发语言·算法·leetcode
YRr YRr34 分钟前
ubuntu20.04 ROS 临时修改功能包名并作一系列对应修改 (ubuntu20.04)
java·开发语言
一颗星星辰1 小时前
数据结构 | 题目练习第三章 | 有效的括号 | 用队列实现栈
java·linux·数据结构
♡喜欢做梦1 小时前
【数据结构】ArrayList的具体实现:简单的洗牌算法--Java
java·数据结构·算法·链表
aiee1 小时前
Golang时间函数
开发语言·后端·golang
G皮T2 小时前
【设计模式】行为型模式(一):模板方法模式、观察者模式
java·观察者模式·设计模式·模板方法模式·template method·行为型模式·observer
努力进修2 小时前
“高级Java编程复习指南:深入理解并发编程、JVM优化与分布式系统架构“
java·jvm·架构
蜗牛沐雨2 小时前
Go语言中的`io.Pipe`:实现进程间通信的利器
开发语言·后端·golang·进程通信·pipe
Peter_chq2 小时前
【计算机网络】网络框架
linux·c语言·开发语言·网络·c++·后端·网络协议
wuh23332 小时前
golang-基础知识(函数)
开发语言·后端·golang