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

相关推荐
开心香辣派小星1 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
Halo_tjn1 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
摆烂z2 小时前
Docker与Jib(maven插件版)实战
java
RainbowSea2 小时前
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
java·spring boot·后端
笨手笨脚の2 小时前
Spring Core常见错误及解决方案
java·后端·spring
奶油松果2 小时前
Springboot自动装配 - redis和redission
java·spring boot·redis
千寻技术帮2 小时前
10413_基于Springboot的智慧养老院管理系统
spring boot·mysql·源码·安装·文档·ppt·养老院
霍夫曼2 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
VX:Fegn08952 小时前
计算机毕业设计|基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·课程设计
荔枝hu2 小时前
springboot和shiro组合引入SseEmitter的一些坑
java·spring boot·后端·sseeitter