Spring Boot搭建入门

news2024/10/7 4:22:39

Spring Boot简介

Spring Boot是对Spring进行的高度封装,是对Spring应用开发的高度简化版,是Spring技术栈的综合整合,是J2EE的一站式解决方案。想要精通Spring Boot的前提是需要熟悉Spring整套技术栈原理与内容。

Spring Boot的优点:

1、可以快速创建独立运行的Spring项目且可以与主流框架无缝集成;

2、内置使用了嵌入式的Servlet容器,应用无需打成WAR包;

3、使用了starters自动依赖与版本控制;

4、基于大量的自动配置,简化开发,无需硬编码;

5、只需极少的XML配置文件,无代码生成,开箱即用;

6、提供准生产环境的运行时应用监控;

7、与云计算天然集成等。

微服务

微服务是一组独立的小型服务,但是又可以互相通信,本质上是一种软件的架构风格。微服务架构希望把每个功能独立出来作为一个服务,实现系统的解耦,不会出现单体应用中牵一发而动全身的情况。也便于每个组件的升级与维护,以及整个系统的弹性扩容与收缩。参考链接:Microservices Guide (martinfowler.com)。Spring Boot可以说是为微服务而诞生的。

图片

快速新建一个Spring Boot项目(基于IDEA)

1、打开IDEA,新建一个项目,选择Spring Initializr,如下图所示:

图片

图片

2、依次填写相关信息,Dependencies中选择Spring Web,此处Spring Boot版本选择的是2.7.7,然后一步步点击Next,最后点击Finish,如下图所示:

图片

图片

3、最终生成的项目结构如下图所示:

图片

其中@SpringBootApplication为Spring Boot项目的核心注解,标志着这是一个Spring Boot应用,被此注解标注的类是整个项目的启动类,其中main()方法中调用的run()方法是使整个应用启动起来的关键。

SpringApplication.run(HelloApplication.class, args);

最终代码如下:

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

4、编写简单的Controller层代码作为测试,代码如下:

@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring Boot !";
    }
}

需要注意此处的项目结构中HelloApplication类应该在最外层,如下图所示:

图片

5、启动主程序即上面所说的HelloApplication类,启动成功后Console中提示默认端口为8080,在浏览器地址栏中输入定义的接口地址:localhost:8080/hello,浏览器返回自定义的信息,如下图所示:

图片

图片

至此,一个入门级别的Spring Boot项目搭建完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1502053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML—基本介绍

HTML是一种超文本标记语言(HyperText Markup Language),用于创建网页的标记语言超文本:是指页面内可以包含图片、链接、声音、视频等内容标记:HTML富含大量的标签供程序员使用,通过标记符号来规定指定内容的样式 浏览器最终根据不…

2024/3/8打卡石子合并---区间动态规划问题

目录 题目: DP分析: 代码: 题目: 设有 N 堆石子排成一排,其编号为 1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。 每次只能合并相邻的两堆&am…

指针(一)

指针(一) 文章目录 前言1、内存和地址1.1.内存1.2 究竟该如何理解编制 2、指针变量和地址2.1取地址符操作符(&)2.2 指针变量和解引⽤操作符(*)2.2.1 指针变量2.2.2 如何拆解指针类型2.2.3 解引⽤操作符…

Android Studio编译及调试知识

文章目录 Android Studio编译kotlin项目Android Studio编译Java和kotlin混合项目的过程gradle打印详细错误信息,类似这种工具的使用Android apk 从你的代码到APK打包的过程,APK安装到你的Android手机上的过程,最后安装好的形态,以…

20-Java备忘录模式 ( Memento Pattern )

Java备忘录模式 摘要实现范例 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象 备忘录模式属于行为型模式 摘要 1. 意图 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对…

Win11 没有网络bug

1.问题描述 没有网络,dns一直是固定的,但是dns已经是自动获取了(MAC地址随机) 2.解决办法 1.首先,删除所有网络的手动dns配置,控制中心那个dns管理没有用,在设置中删除网络,不然问题还会出现 - 2.然后,进入注册表\HKEY_LOCAL_MACH…

第五十三回 入云龙斗法破高廉 黑旋风下井救柴进-AI训练数据处理和读取

罗真人教了公孙胜五雷天罡正法,并让他记住“逢幽而止,遇汴而环”八个字。三人辞别了罗真人,戴宗先回去报信,李逵和公孙胜结伴而行。 走了三天,来到了武冈镇,李逵碰到一个铁匠,叫金钱豹子汤隆&a…

docker学习进阶

一、dockerfile解析 官方文档: Dockerfile reference | Docker Docs 1.1、dockfile是什么? dockerfile是用来构建docker镜像的文本文件,由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…

【硬件工程师面经整理24_其它】

文章目录 1 功放线性指标调试方法2 功放线性指标之间的关系3 光衰减器的原理4 材料硬度由什么决定?5 晶振市场失效率?6 原码、反码和补码 1 功放线性指标调试方法 调试功放线性指标的方法可以根据具体的情况和要求而有所不同,以下是一般性的…

html--钢琴

代码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>html钢琴</title> <script src"js/js.js"></script> <link href"…

vscode setting.json 全局设置 工作区设置 位置 优先级

vscode中setting.json有两种配置权限 一、全局配置&#xff1a;setting.json文件位于C:\Users\Administrator\AppData\Roaming\Code\User\settings.json 二、工作区配置&#xff1a;setting.json文件位于工作区的.vscode\settings.json 当两种配置同时存在时&#xff0c;工作区…

IOS覆盖率报告info文件解读

一&#xff0c;IOS覆盖率报告的生成 在做前端精准测试的时候&#xff0c;对于iOS端&#xff0c;通常会做如下操作&#xff1a; &#xff08;1&#xff09;合并覆盖率数据 如下操作&#xff1a; xcrun llvm-profdata merge coverage_file1657885040728.profraw coverage_fil…

力扣hot100:240.搜索二维矩阵II(脑子)

吉大21级算法分析与设计的一道大题&#xff0c;由于每一行都是排好序的直接逐行二分 可以达到&#xff1a;O(mlogn)。但是这里追求更广的思路可以使用其他方法。 矩阵四分&#xff1a; 在矩阵中用中心点比较&#xff0c;如果target大于中心点的值&#xff0c;则由于升序排列&am…

Java面试(8)

三次握手与四次挥手 三次握手: 客户端与服务端建立TCP连接时总共需要发送三个包 三次握手过程中容易引发SYN(DDOS)攻击,所谓SYN攻击是指: 攻击客户端,在短时间内伪造大量不存在的IP地址,向服务端不断发送syn包,服务端收到包后向客户端发送确认包,但由于客户端IP不存在,导致服务…

FPGA FIFO 读取模式

FPGA FIFO 读取模式分两种&#xff1a; Normal Mode: In normal mode, the “rdreq” signal serves as the read request or read enable. When this signal goes high, the data output provides the first data from the FIFO.Essentially, in normal mode, data is availa…

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架)

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架) 大语言模型 (Large Language Models, LLMs) 在不同领域都表现出了优异的性能。然而&#xff0c;对于非AI专家来说&#xff0c;制定高质量的提示来引导 LLMs 是目前AI应用领域的一项重要挑战。现有的提示…

【经典案例】某大型公园构建检查监督机制项目纪实

——引入网格化监督管理机制&#xff0c;实现责任、人员、信息三位一体 公园管理由于其本身地域范围广的特性在工作中很难进行有效的监督检查&#xff0c;该公园的监督检查由不同的部门分别负责&#xff0c;同部门检查时往往会处于情面而使检查流于形式&#xff0c;并且公园的监…

VSCode搭建ARM开发环境

为了构建Cortex M系列单片机免费开源的开发环境&#xff0c;网络上了解来看VSCODEGCCJLINK是一套比较高效的组合方式&#xff0c;下面记录环境搭建的流程。 我这边的PC环境为 WIN7专业版64bit。 需要用到的工具 Visual Studio CodeSTM32CubemxARM GCC 交叉编译工具链&#x…

javaWebssh文玩竞价管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh文玩竞价管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

MySQL--索引底层数据结构详解

索引是什么&#xff1f; 索引是帮助MySQL高效获取数据的排好序的数据结构&#xff0c;因此可知索引是数据结构。 概念很抽象&#xff0c;但是类比生活中的例子就很容易理解&#xff0c;比如一本厚厚的书&#xff0c;我们想取找某一小节&#xff0c;我们可以根据目录去快速找到…