Spring Boot开发入门教程

news2024/11/6 15:39:32

简介

Spring Boot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序。通过Spring Boot,你可以轻松地创建独立的、生产级的Spring应用程序。
在这里插入图片描述

环境准备

  • Java开发环境:确保你的机器上安装了Java 8或更高版本。
  • Maven或Gradle:用于依赖管理和项目构建。
  • IDE:推荐使用IntelliJ IDEA或Spring Tool Suite。

创建Spring Boot项目

使用Spring Initializr

  1. 访问Spring Initializr。
  2. 选择项目元数据(如Group, Artifact)。
  3. 添加依赖(如Spring Web, Spring Data JPA等)。
  4. 生成项目并下载。

使用IDE

IntelliJ IDEA
  1. 打开IntelliJ IDEA。
  2. 选择“Create New Project”。
  3. 选择“Spring Initializr”,输入项目信息和依赖。
  4. 完成项目创建。
Spring Tool Suite
  1. 打开Spring Tool Suite。
  2. 选择“File” > “New” > “Spring Starter Project”。
  3. 输入项目信息和依赖。
  4. 完成项目创建。

项目结构

myapplication/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── demo/
│   │   │               ├── DemoApplication.java
│   │   │               └── controller/
│   │   │                   └── HelloController.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── static/
│   └── test/
│       └── java/
│           └── com/
│               └── example/
│                   └── demo/
│                       └── DemoApplicationTests.java
└── pom.xml (或 build.gradle)

编写Hello World应用程序

DemoApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

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

HelloController.java

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}

运行应用程序

在IDE中,直接运行DemoApplication.java。或者使用Maven/Gradle命令行:

mvn spring-boot:run
# 或者
./gradlew bootRun

访问应用程序

打开浏览器,访问http://localhost:8080/hello,你将看到输出:“Hello, World!”。

结论

本教程提供了Spring Boot项目的基本创建和运行流程。你可以根据需要添加更多的依赖和功能,以构建更复杂的应用程序。

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

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

相关文章

vue3入门知识(一)

vue3简介 性能的提升 打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54% 源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking 新的特性 1. Composition API(组合API) setupref与reactivecomput…

【产品经理】工业互联网企业上市之路

树根互联2022年6月2日提交招股书之后,因财务资料超过六个月有效期加三个月延长期,2022年9月30日上市审核中止;2022年12月26日树根互联更新了2022年半年度财务资料,又九个月过去了,其上市进程将面临再一次中止。 处于上…

Centos 7系统一键安装宝塔教程

服务器推荐青鸟云服务器,2H2G低至16元/月 官网地址: 所有产品_香港轻量云 2核 2G-A型_青鸟云 推荐Finalshell软件连接至服务器,下载地址: https://dl.hostbuf.com/finalshell3/finalshell_windows_x64.exe 下载完成后连接服务…

Vue3-实现父子组件通信

Vue3-实现父子组件通信 父组件向子组件传值defineProps()代码示例 子组件给父组件传值defineEmits()示例代码 结语 😀大家好!我是向阳🌞,一个想成为优秀全栈开发工程师的有志青年! 📔今天来讨论前端中Vue3父…

Imperva 数据库与安全解决方案

Imperva是网络安全解决方案的专业提供商,能够在云端和本地对业务关键数据和应用程序提供保护。公司成立于 2002 年,拥有稳定的发展和成功历史并于 2014 年实现产值1.64亿美元,公司的3700多位客户及300个合作伙伴分布于全球各地的90多个国家。…

【TabBar嵌套Navigation案例-常见问题按钮-WebView-加载本地html文件 Objective-C语言】

一、接下来,我们来说,webView如何加载本地的html文件 1.把这里的http://www.baidu.com/ 如何替换成本地的html文件,实际上,我们只需要把URL替换一下就可以了, 然后呢,先给大家看一眼素材,在我们的help.json里边,比如说,第一个按钮, 如何领奖,这块儿有一个叫做htm…

搜维尔科技:【煤矿虚拟仿真】煤矿企业、高校、科研单位-多语言支持、数字孪生、交互式学习体验

品牌:SouVR 发票:支持专票、普票 单位:套 版本号:1.0 包装清单:软件1套 软件形式:U盘、光盘 运行环境:windows 应用对象:煤矿企业、高校、科研单位 系统配置:…

【CSS】标准怪异盒模型

概念 CSS 盒模型本质上是一个盒子,盒子包裹着HTML 元素,盒子由四个属性组成,从内到外分别是:content 内容、padding 内填充、border 边框、外边距 margin 盒模型的分类 W3C 盒子模型(标准盒模型) IE 盒子模型(怪异盒模型) 两种…

国标GB28181视频平台EasyCVR私有化视频平台工地防盗视频监控系统方案

一、方案背景 在当代建筑施工领域,安全监管和防盗监控是保障工程顺利进行和资产安全的关键措施。随着科技进步,传统的监控系统已不足以应对现代工地的安全挑战。因此,基于国标GB28181视频平台EasyCVR的工地防盗视频监控系统应运而生&#xf…

动态规划 —— dp 问题-打家劫舍II

1.打家劫舍II 题目链接: 213. 打家劫舍 II - 力扣(LeetCode)https://leetcode.cn/problems/house-robber-ii/ 2. 题目解析 通过分类讨论,将环形问题转换为两个线性的“打家劫舍|” 当偷第一个位置的时候,rob1在&#…

配置elk插件安全访问elk前台页面

编辑els配置文件vim elasticsearch.yml,添加以下配置文件 用elk用户,启动els服务 关闭防火墙,查看els启动是否成功,通过是否启动java进程来判断 或者通过查看是否启动9200和9300端口来判断是否启动 交互模式启动密码配置文件interactive表示交…

通过mybatis和mybatis plus 实现用户注册功能和基础的增删改查

1,切分application的环境并引入依赖 通过将application.yml进行切分,切分成三个不同的环境,生产环境和开发环境,我们可以在不同情况下所需要的不同环境上进行相关的配置 我们对代码进行一次切分 application.yml spring:application:name…

TypeError: Cannot read properties of undefined (reading ‘__asyncLoader‘)

项目场景: vue3element-plus 项目场景:vue3element-plustsvite的技术栈开发的后台,一个后台列表页面,使用了ElTable组件 问题描述 页面提示报一个好像是异步的问题 runtime-core.esm-bundler.js:2261 Uncaught (in promise) Ty…

大模型学习笔记------CLIP模型解读与思考

大模型学习笔记------CLIP模型解读与思考 1、为什么提出CLIP模型2、CLIP模型详解3、CLIP模型的重要意义 上文已经讲到,我认为多模态的大模型是最有前途的大模型,首先学习的就是CLIP这个模型。 CLIP(Contrastive Language-Image Pretraining&…

【大数据学习 | kafka】kafka的ack和一致性

1. ack级别 上文中我们提到过kafka是存在确认应答机制的,也就是数据在发送到kafka的时候,kafka会回复一个确认信息,这个确认信息是存在等级的。 ack0 这个等级是最低的,这个级别中数据sender线程复制完毕数据默认kafka已经接收到…

完美解决mysql -u root -p ‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

如果你已经安装了mysql8.0,但是还出现是下面的问题,解决方法是从根目录打开或者配置环境变量。 遇到的错误主要是与命令行环境和 MySQL 命令无法识别有关。这里我会逐步分析问题,并给出可能的解决方法。 问题描述和分析: ‘my…

UE5 材质篇 1 如何偏移顶点

顶点偏移 start content里的plane长这样 我们进行一点顶点偏移就能长这样 XY加起来乘个缩放系数扔给sin结果乘个缩放系数即可

求助帖【如何学习核磁共振的原理】

最近提前进组了 我完全不懂磁共振的相关知识 想问问各位大佬有没有推荐的学习路线 或者是学习资料、论坛都可以的(我做的方向是磁共振成像技术) 老师给了一本书,但是有点看不懂,全英文的 叫Principles Of Magnetic Resonance …

vite+vue项目创建流程;npm error enoent Could not read package.json异常报错问题

前提概要:默认下载好node vue vite等等东西啊 新建文件夹,放项目管理员身份运行命令行,先转到所在大盘,然后再cd到具体的新建文件夹,执行npm init vitelatest命令。 管理员身份运行vscode,打开刚才新建的v…

[mysql]修改表和课后练习

目录 DDL数据定义语言 添加一个字段 添加一个字段到最后一个 添加到表中的第一个一个字段 选择其中一个位置: 修改一个字段:数据类型,长度,默认值(略) 重命名一个字段 删除一个字段 重命名表 删除表 清空表 DCL中事务相关内容 DCL中COMMIT和ROLLBACK的讲解 对比TR…