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 项目如何连接数据库、如何配置相关文件进行介绍。

相关推荐
蓝天星空20 分钟前
spring cloud gateway 3
java·spring cloud
罗政25 分钟前
PDF书籍《手写调用链监控APM系统-Java版》第9章 插件与链路的结合:Mysql插件实现
java·mysql·pdf
一根稻草君31 分钟前
利用poi写一个工具类导出逐级合并的单元格的Excel(通用)
java·excel
kirito学长-Java34 分钟前
springboot/ssm网上宠物店系统Java代码编写web宠物用品商城项目
java·spring boot·后端
木头没有瓜1 小时前
ruoyi 请求参数类型不匹配,参数[giftId]要求类型为:‘java.lang.Long‘,但输入值为:‘orderGiftUnionList
android·java·okhttp
奋斗的老史1 小时前
Spring Retry + Redis Watch实现高并发乐观锁
java·redis·spring
high20111 小时前
【Java 基础】-- ArrayList 和 Linkedlist
java·开发语言
键盘侠0071 小时前
springboot 上传图片 转存成webp
android·spring boot·okhttp
老马啸西风1 小时前
NLP 中文拼写检测纠正论文 C-LLM Learn to CSC Errors Character by Character
java
Cosmoshhhyyy1 小时前
LeetCode:3083. 字符串及其反转中是否存在同一子字符串(哈希 Java)
java·leetcode·哈希算法