使用Spring Initializr方式构建Spring Boot项目

news2024/12/23 3:25:37

除了可以使用Maven方式构建Spring Boot项目外,还可以通过Spring Initializr方式快速构建Spring Boot项目。从本质上说,Spring lnitializr是一个Web应用,它提供了一个基本的项目结构,能够帮助我们快速构建一个基础的Spring Boot项目。下面讲解如何使用Spring Initializr方式构建Spring Boot项目,具体步骤如下。

1.创建Spring Boot 项目

打开IDEA,选择【Create New Project】新建项目,在弹出的“New Porject”界面中,左侧选择【Spring Initializr】选项进行Spring Boot项目快速构建,具体如图所示。

“Project SDK”用于设置创建项目使用的JDK版本,这里,使用之前初始化设置好的JDK版本即可;在“Choose lnitializr Service URL.”(选择初始化服务地址)下使用默认的初始化服务地址“https://start.spring.io”进行Spring Boot项目创建(注意使用快速方式创建 Spring Boot 项目时,所在主机须在联网状态下)。接着单击【Next】按钮进入下一步,具体如图所示。

将Group设置为com.itheima,Artifact 设置为chapter01,其余选项使用默认值。单击【Next】按钮进入Spring Boot 场景依赖选择界面,具体如图所示。

在上图所示界面中,“Project SDK”用于设置创建项目使用的JDK版本,这里,使用之前初始化设置好的JDK版本即可;在“Choose Initializr Service URL.”(选择初始化服务地址)下使用默认的初始化服务地址“https://start.spring.io”进行Spring Boot项目创建(注意使用快速方式创建Spring Boot项目时,所在主机须在联网状态下)。接着单击【Next】按钮进入下一步,具体如图所示。

上图Spring Boot场景依赖选择界面中,主要分为4部分内容,具体说明如下。

(1)页面顶部的中间位置可以选择Spring Boot版本,默认显示的是最新稳定版本。如果要自定义项目版本号,则需要进入项目的pom,xml文件,在对应依赖的标签中指定版本号。

(2)页面左侧汇总了开发场景。每一个开发场景下会包含多种技术实现方案,同时提供多种集成的模块依赖。例如“Web”选项下集成了许多关于Web开发的依赖支持;“Template Engines”选项下集成了有关前端模板引擎的依赖支持。

(3)页面中间展示了开发场景中包括的依赖模块。例如,当选中页面左侧的Web开发场景后,页面中部会出现Web开发场景下集成支持的多个依赖模块,包括有Web、Reactive Web等。

(4)页面右侧展示已选择的依赖模块。当用户选择某个开发场景下的一些依赖模块后,此区域就会显示已选择的依赖模块,后续创建的Spring Boot项目中会自动导入这些依赖。

这里,选择Web开发场景下的Web依赖。单击【Next】按钮进入填写项目名和路径的界面,具体如图下所示。

Project name默认生成与Artifact一致的项目名,Project location默认使用的是上次创建项目所选择的地址。当然页面中的选项都是可以自定义的。单击【Finish】按钮完成项目创建。

至此,Spring Boot项目就创建好了。创建好的Spring Boot项目目录结构如图所示。

使用Spring lnitializr方式构建的Spring Boot 项目会默认生成项目启动类、存放前端静态资源和页面的文件夹、编写项目配置的配置文件以及进行项目单元测试的测试类。打开并查看自动生成的项目启动类Chapter01Application和项目依赖管理文件pom.xml,内容分别如下所示两个文件。
 

创建一个用于Web访问的Controller

@RestController
public class HelloController {
@GetMapping("/hello")
 public String hello(){
    return "hello Spring Boot";
  }
}

运行chapter01项目的主程序启动类Chapter01Application,项目运行成功后,在浏览器上访问“http:/Mocalhost:8080/hello”,具体如下示。

从图中可以看出,页面输出的内容是“hello SpringBoot”。至此,使用Spring Initializr方式构建的Spring Boot项目完成了。

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

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

相关文章

Effective Java笔记(28)列表优于数组

数组与泛型相比,有两个重要的不同点 。 首先,数组是协变的( covariant ) 。 这个词听起来有点吓人,其实只是表示如果 Sub 为 Super 的子类型,那么数组类型 Sub[ ]就是Super[ ]的子类型。 相反,泛…

HTML 元素的 class 和 id 属性有何区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 唯一性⭐ 选择器权重⭐ JS操作⭐ CSS和JavaScript引用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏…

【网络】自定义协议 | 序列化和反序列化 | 以tcpServer为例

本文首发于 慕雪的寒舍 以tcpServer的计算器服务为例,实现一个自定义协议 阅读本文之前,请先阅读 tcpServer 本文完整代码详见 Gitee 1.重谈tcp 注意,当下所对tcp的描述都是以简单、方便理解起见,后续会对tcp协议进行深入解读 …

威纶通触摸屏插入U盘自动登录,拔出U盘自动注销

威纶通触摸屏官网的 Easybuilder Pro 手册 第十章有该功能的使用方法。 在工程文件中设置好账号密码,启用USB登录。 将 U 盘插入电脑,在 EBPro 的安装路径下找到 Administrator Tools,打开 设置账号密码,储存到U盘,之…

你知道函数栈帧的创建和销毁吗?

文章目录 前言观图有感一、概述二、寄存器三、汇编指令四、函数栈帧的创建4.1 main函数栈帧的创建push ebpmov ebp,espsub esp,0E4hpush ebx / esi /edilea edi,[ebp-24h] 、mov ecx,9、mov eax,0CCCCCCCCh、rep stos dword ptr es:[edi]main函数中变量的创建 4.2 在main函数中…

Focal and Global Knowledge Distillation for Detectors(CVPR 2022)原理与代码解析

paper:Focal and Global Knowledge Distillation for Detectors official implementation:https://github.com/yzd-v/FGD 存在的问题 如图1所示,前景区域教师和学生注意力之间的差异非常大,背景区域则相对较小。此外通道注意力…

【错误记录】Uncaught SyntaxError: Not available in legacy mode

错误记录:Uncaught SyntaxError: Not available in legacy mode 错误描述:在vite脚手架项目当中,使用vue-i18n插件进行国际化多语言时,报错 解决方案: 在引入vue-i18n 处,添加 legacy: false 如果对项目…

玩转Vue3:计算属性和监视属性深度解析

计算属性computed Vue中的计算属性是一种特殊的属性,它可以根据依赖的数据动态计算并返回结果。计算属性的值是通过getter函数计算得到的,当依赖的数据发生变化时,计算属性会自动重新计算并更新视图。计算属性具有缓存机制,只有当…

SSM的知识点考试系统java在线问答试卷管理jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 SSM的知识点考试系统 系统1权限:管理员 …

把大模型装进手机,分几步?

点击关注 文 | 姚 悦 编 | 王一粟 大模型“跑”进手机,AI的战火已经从“云端”烧至“移动终端”。 “进入AI时代,华为盘古大模型将会来助力鸿蒙生态。”8月4日,华为常务董事、终端BG CEO、智能汽车解决方案BU CEO 余承东介绍&#xff0c…

【计算机网络】UDP服务器实现网络聊天室

前言 上一篇文章我们简单了解了一下什么是套接字编程,这篇文章我们利用UDP套接字来实现一个简单的网络聊天室。 编写UDP套接字服务器 成员变量 // 1. socket的id,相当于文件id int _sock; // 2. port uint16_t _port;// 3 一个线程负责收放消息&…

JUC并发、JVM相关

文章目录 JUC并发synchronized锁对象底层原理 synchronized锁升级reentrantlock公平锁和非公平锁可重入锁 / 递归锁 死锁死锁产生条件如何排查死锁?如果解决死锁? LockSupport与中断机制中断机制中断相关的三大API如何中断运行中的线程? LockSupportLoc…

【C++】C++11--- 线程库及详解lock_guard与unique_lock

目录 一、thread类的介绍二、线程函数参数三、 原子性操作库四、lock_guard与unique_lock4.1、mutex的种类4.2 lock_guard4.3 unique_lock 一、thread类的介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如**windows和linux下各有自己…

【css】属性选择器

有些场景中需要在相同元素中获取具有特定属性的元素&#xff0c;比如同为input&#xff0c;type属性有text、button&#xff0c;可以通过属性选择器设置text和button的不同样式。 代码&#xff1a; <style> input[typetext] {width: 150px;display: block;margin-bottom…

自动配置要点解读

目录 要点1&#xff1a;什么是自动配置&#xff1f; 要点2&#xff1a;配置文件与默认配置 要点3&#xff1a;自动配置设置思想来源 要点4&#xff1a;spring.factories文件作用 要点5&#xff1a;自动配置的核心 本文只对自动配置的思想进行基本的解读&#xff0c;不涉…

21、p6spy输出执行SQL日志

文章目录 1、背景2、简介3、接入3.1、 引入依赖3.2、修改database参数&#xff1a;3.3、 创建P6SpyLogger类&#xff0c;自定义日志格式3.4、添加spy.properties3.5、 输出样例 4、补充4.1、参数说明 1、背景 在开发的过程中&#xff0c;总希望方法执行完了可以看到完整是sql语…

通用人工智能操作系统

随着科技的飞速发展&#xff0c;人工智能已经成为了当今世界最热门的技术领域之一。从智能手机、自动驾驶汽车到智能家居系统&#xff0c;人工智能技术已经渗透到了我们生活的方方面面。然而&#xff0c;尽管人工智能在很多领域取得了显著的成果&#xff0c;但它仍然存在一些局…

matplotlib+tkinter实现一个简单的绘图系统

文章目录 封装成类布局实现绘图功能 绘图系统系列&#xff1a;将matplotlib嵌入到tkinter 封装成类 在理解matplotlib嵌入到tkinter中的原理之后&#xff0c;就已经具备了打造绘图系统的技术基础&#xff0c;接下来要做的&#xff0c;就是做一个较有可读性的绘图类&#xff0…

Java异常体系总结(下篇)

目录 1. 异常处理的三种方法 1.1 JVM 默认处理异常 1.2 通过 try...catch...自己处理异常 1.3 使用 throws和throw 抛出异常 1.3.1 使用 throws 抛出异常 1.3.2 使用 throw 抛出异常 2. try...catch.. 捕获到异常之后代码的执行顺序&#xff1f; 3. try...catch... 相关…

Mysql进阶(中) -- 索引

索引上部分 -> Mysql进阶(上) -- 存储引擎&#xff0c;索引_千帐灯无此声的博客-CSDN博客 &#x1f442; 爸爸妈妈 - 王蓉 - 单曲 - 网易云音乐 &#x1f448;目录看左栏 目录 &#x1f33c;索引 &#x1f43b;性能分析 - show profiles &#x1f43b;性能分析 - exp…