JavaEE >> Spring Boot(1)

Spring Boot

前面已经介绍了 Spring ,是为了简化 Java 程序开发的,而在前面创建的过程中就会发现其实 Spring 还是有点复杂,此时 Spring Boot 就诞生了, Spring Boot 是为了简化 Spring 程序开发的。

Spring Boot 即 Spring 脚手架,为了快速开发 Spring 框架而诞生。

优点:

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架;
  • 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序;
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬;
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发.

Spring Boot 的创建

下载插件

需要安装 Spring Boot Helper 插件,在这里官网已经没免费的下载方式了,云盘下载

下载完成后进行压缩,放到一个指定的位置,用于后续安装插件。

提取码:d80n

安装插件

找到你所下载的路径,点击压缩包,点击OK就可以将插件安装上了。安装之后重启 IDEA 即可。

创建 Spring Boot 项目


注意此处 Java version 的版本,选择与你对应的 JDK 版本,我的是 JDK8,但 Spring Boot 更新后此处没有 8 的版本了,所以此处就随便选择一个,后面配置的时候也可以改成 JDK8 版本.点击下一步:

此处 Spring Boot 更新后,Spring Boot version 没有 2.x 版本了,和之前一样,随便选择一个,后面配置项里面可以改。这样一来 Spring Boot 项目就创建成功了。

导入配置(JDK8)

本来是不需要导入的,但由于 SpringBoot 更新后无 JDK8 的相关配置,所以需要将原本的 xml 导入到项目中.

将以下代码覆盖到原本的 xml 上:

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.17</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>io.projectreactor</groupId>
			<artifactId>reactor-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

导入完成后,进行配置加载即可,如下:

在该下面页面中选择 Maven 即可.

注意:

  • 第一次加载时间可能较长,正常加载完后 pom.xml 是不会报红的.
  • 若 JDK 版本不是 JDK8 请忽略导入这一步

若出现如下结果,就表示配置成功,Spring Boot 项目就可以成功启动了:

运行Spring Boot

接下来用 Spring Boot 实现一个与浏览器交互的例子.

首先需要在与启动类同级的目录下 创建一个 controller包 ,在包中实现一个简单的运行测试,如下:

java 复制代码
@RestController
@RequestMapping("/test")
public class UserController {
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "[Spring Boot] 你好呀!!!";
    }
}

启动 Spring Boot 的运行类后,在浏览器中输入 url 就可以显示出来了.

这里 @RequestMapping() 注解简单理解就是可以设置访问路径

@RestController 注解

其中 @ResponseBody 注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到 response 对象的 body 区,通常用来返回JSON数据或者是XML数据。

注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过 response 对象输出指定格式的数据。

这样一来,一个简单的 Spring Boot 项目就创建成功了。后续文章会对 Spring Boot 项目如何连接数据库、如何配置相关文件进行介绍。

相关推荐
小江的记录本4 分钟前
【JVM虚拟机】类加载机制:类加载全流程:加载→验证→准备→解析→初始化(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·算法·安全·spring·面试
千纸鹤の脉搏13 分钟前
多线程的初步了解---进程与线程
java·开发语言·学习·线程
许彰午31 分钟前
状态模式实战——Row对象的状态机
java·ui·状态模式
搬石头的马农1 小时前
Claude Code SpringBoot开发:从0到1搭建企业级项目的6个核心Skill
java·人工智能·spring boot·后端·ai编程
西安邮电大学1 小时前
Redis为什么快?
java·redis·后端·其他·面试
折哥的程序人生 · 物流技术专研1 小时前
《Java 100 天进阶之路》第39篇:Java泛型方法的定义和使用
java·开发语言·后端·面试·求职招聘
土狗TuGou1 小时前
SQL内功笔记 · 第6篇:窗口函数的使用ROW_NUMBER等
java·数据库·后端·sql·mysql
Chase_______1 小时前
【Java基础核心知识点全解·09】Java 内存布局与垃圾回收详解:栈、堆、栈帧、GC Roots 与对象回收
java·开发语言
武子康1 小时前
Java-11 深入浅出 MyBatis 一级缓存详解:从原理到失效场景 Executor
java·后端
寻道码路1 小时前
LangChain4j Java AI 应用开发实战(十):Embedding 模型与文本分类 - 语义向量化
java·人工智能·ai·embedding