Spring Boot 项目的创建和简单使用

news2025/2/28 3:26:12

目录

1. 什么是 Spring Boot, Spring Boot 框架有什么优点

2. Spring Boot 项目的创建

2.1 在 IDEA 下安装 Spring Boot Helper 插件:

2.2 创建 Spring Boot 项目:

2.3 网页版创建 Spring Boot 项目

 3. Spring Boot 通过路由映射到本地程序


1. 什么是 Spring Boot, Spring Boot 框架有什么优点

我们之前学的 Spring 项目只是 Spring 中最底层的项目, 我想在浏览器上输入一个地址是映射不到我的程序的, 无法做到 HTTP 响应, 这就和 Java 的一个普通的项目一模一样. Spring 它最初在做项目的时候还是需要和 Servlet 一样, 把项目运行到 Tomcat 中, 还是需要一些很复杂的 xml 文件. 而到了 Spring Boot 时代, 就像单车变摩托了, Spring Boot 是基于约定大于配置的思想去简化 Spring 开发, 可以说它就是为了快速开发 Spring 框架而诞生的.

Spring Boot 框架的优点 

  • 快速集成框架, Spring Boot 提供了启动添加依赖的功能, 用于秒级集成各种框架.
  • 配置变得更加简单了.
  • Spring Boot 内置了 Tomcat , 降低了对环境的要求, 可以直接运行和部署程序.
  • 代码少了很多, 配置文件少了很多, 不需要再去 maven 根据版本选择如何导入第三方依赖, Spring Boot 会自动给你提供匹配的依赖, 项目更精简了, 更大的节约了成本.
  • 可以完全的抛弃繁琐的 XML, 使用注解和配置的方式进行开发.
  • 支持更多的监控的指标,可以更好的了解项目的运行情况.
  • 它提供了很多插件, 方便与嵌入式和内存数据库工作非常简单.

2. Spring Boot 项目的创建

2.1 在 IDEA 下安装 Spring Boot Helper 插件:

我这里已经安装好了, 安装好了之后, 名字就变了.

2.2 创建 Spring Boot 项目:

 

注意 Spring Boot version 选择次新版本. (选择后缀不带英文的次新版本).

 

 

创建完成后, 如果你的项目很多地方报红, 说明你的依赖还没有下载好, 这时候你可以点击右边的 maven ,然后点击 Reload. 如果你的项目右边没有 maven 选项, 那么按照下图的操作就能显示出 maven 选项.

 

 

Spring Boot 项目中两个主要的目录: 

1. src/main/java 为 Java 源代码
2.  src/main/resources 为静态资源或配置⽂件
  • /static:静态资源⽂件夹
  • /templates:模版资源⽂件夹
application.properties 是配置文件. 

 

2.3 网页版创建 Spring Boot 项目

浏览器打开 start.spring.io 来到下面这个界面:

 按照前面的选项去选, 然后点击 GENERATE, 下载一个.zip 的文件, 然后通过 IDEA 打开, 就成功创建了一个网页版的 Spring Boot 项目.

 

 3. Spring Boot 通过路由映射到本地程序

在 main 方法的路径下创建一个 TestController.java.(在启动类的子目录或者同一级目录搞事情才不会出问题, 其他目录就会出问题, 这也是因为 Spring Boot 的约定大于配置)

@RestController
public class TestController {
    @RequestMapping("hello")
    public String sayHello() {
        return "Hello Spring Boot ~";
    }
}

@RestController : 是 @ResponseBody 注解和 @Controller 注解的组合, 

1. 在一个类上添加@Controller注解,表明了这个类是一个控制器类

2. @Response 注解表示要返回数据给客户端, 而不是默认返回视图 (view).

这时候浏览器输入 127.0.0.1:8080/hello 就能在浏览器输出 Hello Spring Boot ~.


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

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

相关文章

MFC编辑框控件属性和用法

目录 一、编辑框的属性 1.want return 2.Multiline 3.滚动条 4.添加完效果 二、初始化编辑框内容 三、复制与退出 四、edit control的值类型 五、思维拓展 一、编辑框的属性 默认情况下编辑框edit control 是可以横向无限输入的 1.want return 支持换行,…

dreamweaver作业静态HTML网页设计模板——迪士尼影视电影(6页)带音乐

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

Private Execution on Blockchain

1.Alan Szepieniec: Ghost-Queen Chess——复杂金融合约 Alan Szepieniec为Neptune合伙人。 为何需关注decentralized Finance? 1)从学术角度来看:是 密码学 ∩\cap∩ 分布式系统 ∩\cap∩ 经济学 ∩\cap∩ …的集合。2)从工程…

基于蚁群算法的多配送中心的车辆调度问题的研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

BUUCTF Misc ningen1 小明的保险箱1 爱因斯坦1 easycap1

ningen1 下载文件 使用kali中的binwalk查看 binwalk xxx.jpg 分离文件 打开 压缩包加密了,爆破 爆破成功,密码:8368 得到flag flag{b025fc9ca797a67d2103bfbc407a6d5f} 小明的保险箱1 下载文件 用010 editor打开 可以看到图…

Java初识泛型

什么是泛型 泛型是jdk1.5引入的新语法,泛型就是适用于许多许多类型,就是对类型实现了参数化。实现一个类,类中包含一个数据成员,使得数组中可以存放任何类型的数据,也可以根据成员方法返回数组中某个下标的值 class M…

linux-免费ssl证书

title: linux-免费ssl证书 categories: Linux tags: [linux, xshell] date: 2022-09-10 19:29:55 comments: false mathjax: true toc: true linux-免费ssl证书 前篇 33种免费获取SSL证书的方式 - https://zhuanlan.zhihu.com/p/174755007 HTTPS 证书文件格式转换 HTTPS证书文…

基于多目标粒子群优化算法的冷热电联供型综合能源系统运行优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

acm退役小记

本人大学是接近一本线的二本大学,目前能打的区域赛场基本打完了,桂林rank105和沈阳rank140是有两个区域赛铜。如果我是强校的话,也会说下只能拿废物铜耻辱退役 这里简单记下我的acm生涯 其实我一直觉得对于我们这种弱校,虽然打a…

delete删除后怎么恢复文件?四种方法进行找回

演示机型:技嘉 H310M HD22.0 系统版本:Windows 10 专业版 很多小伙伴在日常工作或生活中,喜欢通过delete键进行删除文件,虽然这种删除方式快捷方便,但是也容易出现误删的情况,那么用delete键删除的文件可以…

【语音识别】高斯混合模型(GMM)说话人识别【含Matlab源码 574期】

⛄一、高斯混合模型简介 GMM基本框架 类似的还有GMM-UBM(Universal background model)算法,其与GMM的区别在于:对L类整体样本训练一个大的GMM,而不像GMM对每一类训练一个GMM模型。SVM的话MFCC作为特征,每一帧作为一个样本&#…

golang的new和make

golang 变量定义的方式 可以通过 var变量名称变量类型 进行声明变量,当我们没有给它赋值的时候,它们的结果是变量类型的零值,例如: string 的零值是"",int 的零值是0,引用类型的零值是nil。 前面两种类型…

Android加载第三方so库

本篇文章使用的android studio版本是:Android Studio Bumblebee | 2021.1.1 Patch 2 上一篇文章:Android开发java调用C简单示例 演示了java调C,那么so文件能否复用到别的项目了? 这次我们尝试用上一篇文章生成的so库,调用里面的…

APK 签名 v1 v2 步骤

APK 签名 v1 v2 步骤 需要工具 **apksigner.jar jarsinger.exe keytool.exe zipalign.exe ** 1.生成 keystore keytool -genkey -v -keystore my.keystore -alias liuhan -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "cnTest,ouTest,cCA" -validity …

【机器学习入门项目10例】(六):KMeans聚类

💥 项目专栏:【机器学习入门项目10例】 文章目录 一、KMeans聚类二、数据集介绍三、KMeans聚类算法介绍四、定义KMeans模型4.1 kmeans算法入口4.2 初始化簇4.3 计算DBI优化指标4.4 计算每个样本到簇中心的距离4.5 更新每个样本所属的簇分类4.6 更新每个簇的中心4.7 官方实现…

百行代码实现VLC简易视频播放器【详细环境配置过程+可执行源码注释完整】

文章目录❓什么是VLC🚀VLC 库的集成⭐VLC环境配置演示【win10系统vs2017win64】🍎VLC 库的基本使用🎂视频播放器实现⭐自定义函数Unicode2Utf8讲解🏠总结❓什么是VLC VLC 是 Video Lan Client 的缩写,原先是几个法国的…

学生HTML网页作业作品:HTML+CSS网站设计与实现【红色喜庆邀请函 3页】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture)

1 简介 朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture),是一个数学难题。 要理解朗道-西格尔零点猜想,首先需要理解黎曼猜想,进而需理解广义黎曼猜想,以及狄利克雷L函数。断言L函数没有异常零…

【OneDrive篇】OneDrive禁用个人保管库(网页端)

【OneDrive篇】OneDrive禁用"个人保管库"(网页端) 最近OneDrive个人保管库一直同步出错,把文件全部移出来还是一样,就选择直接禁用"个人保管库"功能了—【蘇小沐】 文章目录【OneDrive篇】OneDrive禁用"…

Windowns编译OpenSSL

前言 开发过程中需要上传数据,URL是https的,Qt默认是http网络请求,访问https需要用到SSL认证,而Qt默认不支持,需要自己编译OpenSSL库。 一、下载OpenSSL 环境:Qt 5.12.2 MSVC 2017,32bit ,可通过下面代码…