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

Spring Boot 3.x- 快速搭建入门

简述

使用场景
在使用传统的 Spring 框架(如 SSM)时,配置文件(XML 或 properties)一旦出错,通常会导致错误难以排查,并且单个配置文件的错误可能导致整个项目无法启动。这种复杂性是推动 Spring Boot 成为主流的重要原因。如今,微服务架构(如 Spring Cloud)更是大势所趋。

Spring Boot 的优势
Spring Boot 配置简洁高效,以“约定优于配置”的理念为核心,能显著提升开发效率。其主要优点包括:

  • 快速启动和运行:搭建框架到运行仅需几分钟。
  • 内嵌 Web 服务器:无需单独安装 Tomcat 等服务器。
  • 强大的依赖管理:通过 Maven 或 Gradle 自动管理依赖版本。
  • 简化配置:通过注解和简单的配置文件代替繁琐的 XML 配置。

Spring Boot 的这些特点极大地降低了开发和维护的复杂性,同时为微服务架构提供了坚实的技术基础。

本文要点

本文将带你快速创建一个Spring Boot项目体验,启动并实现在浏览器访问接口得到一个 Hello World 的输出.。
环境

  • JDK 17
  • IntelliJ IDEA 2024.3
  • Spring Boot 3.4.1
  • Maven 3.9.8

快速生成 Spring Boot 项目

1、访问 https://start.spring.io/ 生成一个初始项目。
选择生成参数2、我们需要去请求接口,所以需要一个 Web依赖

添加依赖
3、点击 Generate 生成项目,会下载一个 zip 的项目压缩包

点击生成

Spring Boot 项目导入

1、下载后解压 spring-boot-demo3.zip,这里是你自定义的名字。
2、打开 IntelliJ IDEA ,点击菜单栏【文件】 =》【打开】,找到你解压后的 pom.xml 点击打开。
导入项目
3、作为项目打开
作为项目打开
4、等待Maven加载完毕即可。

配置启动

1、配置启动端口。
修改 application.properties ,新增如下代码。

# 配置端口
server.port=9110

2、 修改启动类

我们要加一个接口,用于访问返回输出一个 Hello World

在启动类 SpringBootDemo3Application.java 类上加注解 @RestController

表明它不仅是一个@Controller还是一个只返回json的控制类

@RestController = 类上加@Controller+方法上加@ResponseBody

ps:启动类要放到包最外层
启动类要放到包最外层

SpringBootDemo3Application.java

package com.github.cuifuan.demo3;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author cuifuan
 */
@RestController
@SpringBootApplication
public class SpringBootDemo3Application {

	public static void main(String[] args) {
		SpringApplication.run(SpringBootDemo3Application.class, args);
	}

	/**
	 * 这里的@GetMapping相当于@RequestMapping(value = "/hello", method = RequestMethod.GET)
	 **/
	@GetMapping("hello")
	public String halo() {
		return "hello world";
	}
}

启动并访问

点击第一个或第二个(Debug模式)启动

启动项目

启动成功之后访问 http://localhost:9110/hello

访问


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

相关文章:

  • 改善 Kibana 中的 ES|QL 编辑器体验
  • 逆向生成原理
  • 常见端口(22、25、53、80、443、110、143、3306、6379、21)和服务的安装与配置手册
  • 一个在ios当中采用ObjectC和opencv来显示图片的实例
  • 开源简史与概览
  • WAP短信格式解析及在Linux下用C语言实现
  • 【文献代码研究】工具方向、运动冗余和路径点时序协同优化用于机器人辅助制造...
  • 我的JAVA-Web基础(2)
  • 【网络安全 | 漏洞挖掘】如何通过竞态条件发现账户接管漏洞
  • 前端项目 npm报错解决记录
  • 网络爬虫淘宝商品数据
  • Hutool 发送 HTTP 请求的几种常见写法
  • Linux(Centos 7.6)软件包安装
  • NodeRed使用心得,实现增删改查等
  • 电商项目高级篇07-redisson分布式锁
  • 排序算法之快速排序、归并排序
  • java全栈day21--Web后端实战之利用Mybaits查询数据
  • pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】
  • 鸿蒙TCPSocket通信模拟智能家居模拟案例
  • 勤工助学系统|Java|SSM|VUE| 前后端分离
  • springboot510基于Springboot+vue线上教育培训办公系统(论文+源码)_kaic
  • JSON的运用与总结
  • 【Python科研数据爬虫】基于国家标准查询平台和能源标准化信息平台的海上风电相关行业标准查询信息爬取及处理
  • STM32-笔记16-定时器中断点灯
  • overleaf中出现TeX capacity exceeded PDF object stream buffer=5000000的原因和解决方案
  • pandas df 如何 输出数据到 sqlite3