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

Spring(四):Spring Boot 的创建和使用

关于Spring之前说到,Spring只是思想(核心是IOC、DI和AOP),而具体的如何实现呢?那就是由Spring Boot 来实现,Spring Boot究竟是个啥呢?

什么是Spring Boot,为什么要学Spring Boot

 Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发
的。
Spring Boot 翻译⼀下就是 Spring 脚⼿架,什么是脚⼿架呢?如下图所示

盖房⼦的这个架⼦就是脚⼿架,脚⼿架的作⽤是砌筑砖墙,浇筑混凝⼟、⽅便墙⾯抹灰,装饰和粉刷 的,简单来说,就是使⽤脚⼿架可以更快速的盖房⼦。
⽽ Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。
Spring Boot 相⽐于 Spring 有一个质的提升。

Spring Boot的优点

说是说,Spring Boot 有质的提升,具体体现在如下几个方面:

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况。

我们一个一个来介绍:

创建Spring Boot

首先,我需要下载一个插件 : Spring Boot Helper ;这个插件只有社区版需要下载,专业版的不需要去下载,由于我的是专业版的,所以在插件中找不到,所以我随便在网上照了一张图:

ok,这个下载好了以后,就变成了这个:

 ok,点击 Next 继续走,来到这个界面

 简单的选择一遍:

 继续点击Next 往下走:

来到这个页面:

 这个就是之前在Maven 中央仓库中引入的依赖,这里我们可以一次性选择完全部,并且,不需要我们手动去选版本,Spring 帮我们自动匹配了与 jdk 匹配的版本。

 再次点击 Next 来到最后一步:

这是我们最熟悉的一步了,取个名字,选择一个存放路径,点击 Finish 就创建完毕了。

创建完毕就来到这个页面:

 

 为了看着简介,我还是删了。

到这里创建就结束了。

为啥这里要演示一遍创建?因为学到后面就会发现创建才是Spring Boot 中最难的东西,总会出现一些莫名其妙的错误。

之前的文章中我也介绍过 Maven 国内源的配置,需要的可以去看看,这里就不再重复了。

Spring Boot 的使用

项目目录介绍和运行

Spring Boot 项⽬有两个主要的⽬录:
  1. src/main/java 为 Java 源代码。
  2. src/main/resources 为静态资源或配置⽂件:
    • /static:静态资源⽂件夹;
    • /templates:模版资源⽂件夹

我们学习 JavaEE 就是⽤来实现 Web 项⽬或接⼝的,⽽之前是 Spring 其实是⼀个普通 Java 项⽬,没 办法直接和浏览器进⾏互动,所以接下来我们要⽤ Spring Boot 来实现和浏览器及⽤户的交互。

在创建的项⽬包路径下创建 UserController ⽂件,实现代码如下:
package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/sayhi")public String sayHi(){return "Hi,Spring Boot.";}
}

结果如下:

这里来解释一下:为啥在《Spring中Bean的生命周期和作用域》这一篇文章中需要配置文件,将Bean 对象等配置进 Spring 中,而这里却不需要在配置呢?

如图:

 看上述那个注解, @SpringBootApplication ,事实上,我们在创建的时候就已经配置好了,不需要我们在手动配置;

有了这个注解,他就会扫描demo 这个包已经其子包 Spring Boot 项⽬没有将对象注⼊到容器中。

 现在我们将 这个 Controller 类移动到与 demo 包平级,试试看能否打印这个 Hi,Spring Boot.

 我们可以看到,这样是无法访问的。

小结:约定大于配置

以上情况反应了 Spring Boot 项⽬的另⼀个特点:约定⼤于配置。
对⽐ Spring 的项⽬我们也可以看到这⼀特点,⽐如在 Spring 中也是要配置 Bean 的扫描路径的,⽽  Spring Boot 则不需要,Spring 配置如下:

总结

Spring Boot 是为了快速开发 Spring ⽽诞⽣的,Spring Boot 具备:
  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点。
Spring Boot 可使⽤ Idea 或⽹⻚创建,它的设计思想是约定⼤于配置,类上标注
@SpringBootApplication 就可以启动 Spring Boot 项⽬了。

相关文章:

Spring(四):Spring Boot 的创建和使用

关于Spring之前说到,Spring只是思想(核心是IOC、DI和AOP),而具体的如何实现呢?那就是由Spring Boot 来实现,Spring Boot究竟是个啥呢? 什么是Spring Boot,为什么要学Spring Boot Sp…...

SpringCloud Gateway:status: 503 error: Service Unavailable

使用SpringCloud Gateway路由请求时,出现如下错误 yml配置如下: 可能的一种原因是:yml配置了gateway.discovery.locator.enabledtrue,此时gateway会使用负载均衡模式路由请求,但是SpringCloud Alibaba删除了Ribbon的…...

【产品规划】功能需求说明书概述

文章目录 1、瀑布流方法论简介2、产品需求文档(PRD)简介3、产品需求文档的基本要素4、编写产品需求文档5、优秀产品需求文档的特点6、与产品需求文档相似的其他文档 1、瀑布流方法论简介 2、产品需求文档(PRD)简介 3、产品需求文档…...

shell连接ubuntu

当使用aws的私钥连接时,老是弹出输入私钥密码,但是根本没有设置过密码,随便输入后,又提示该私钥无密码... 很早就使用过aws的ubuntu,这个问题也很早就遇到过,但是每次遇到都要各种找找找...索性这次记下来算了 此处用FinalShell连接为例 首先现在Putty连接工具: 点击官方下载 …...

华为将收取蜂窝物联网专利费,或将影响LPWAN市场发展

近日,华为正式公布了其4G和5G手机、Wi-Fi6设备和物联网产品的专利许可费率,其中包含了长距离通信技术蜂窝物联网。作为蜂窝物联网技术的先驱,华为是LTE Category NB (NB-IoT)、LTE Category M和其他4G物联网标准的主要贡献者。 在NB-IoT领域…...

【3Ds Max】图形合并命令的简单使用

示例(将文字设置在球体上) 1. 首先这里创建一个球体和一个文本 2. 选中球体,在复合对象中点击图形合并按钮 点击“拾取图形”按钮,然后选中文本,此时可以看到球体上已经投射出文本 3. 接下来是一些常用参数的介绍 当…...

Flink的常用算子以及实例

1.map 特性&#xff1a;接收一个数据&#xff0c;经过处理之后&#xff0c;就返回一个数据 1.1. 源码分析 我们来看看map的源码 map需要接收一个MapFunction<T,R>的对象&#xff0c;其中泛型T表示传入的数据类型&#xff0c;R表示经过处理之后输出的数据类型我们继续往…...

网络安全---负载均衡案例

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释&#xff0c;我们只用两个节点&#xff0c;启动之后&#xff0c;大家可以看到有 3 个容器&#xff08;可想像成有 3 台服务器就成&#xff09;。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…...

解决nginx的负载均衡下上传webshell的问题

目录 环境 问题 访问的ip会变动 执行命令的服务器未知 上传大文件损坏 深入内网 解决方案 环境 ps :现在已经拿下服务器了&#xff0c;要解决的是负载均衡问题, 以下是docker环境&#xff1a; 链接: https://pan.baidu.com/s/1cjMfyFbb50NuUtk6JNfXNQ?pwd1aqw 提…...

vue 关闭prettier警告warn

这个就是我们创建vue cli的时候 把这个给默认上了 关闭这个只需在.eslintrc.js页面里边添加一行代码"prettier/prettier": "off"...

听GPT 讲Prometheus源代码--rules

Prometheus的rules目录主要包含规则引擎和管理规则的文件: engine.go 该文件定义了规则引擎的接口和主要结构,包括Rule,Record,RuleGroup等。它提供了规则的加载、匹配、评估和结果记录的功能。 api.go 定义了用于管理和查询规则的RESTful API,包括获取、添加、删除规则等方法。…...

TIA博途_通过EXCEL快速给PLC程序段添加注释信息的方法示例

通过EXCEL快速给PLC程序段添加注释信息的方法示例 如下图所示,以OB1为例,正常情况下,我们可以在博途中直接输入各个程序段的注释信息, 但是如果程序段较多的话,逐个输入的话效率不高,此时可以参考下面这种通过EXCEL进行快速添加的方法。 如下图所示,选中某个OB或FC、FB块…...

【力扣】496. 下一个更大元素 I <单调栈、模拟>

【力扣】496. 下一个更大元素 I nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个没有重复元素的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。   对于每个 0 < i <…...

Java调用https接口添加证书

使用InstallCert.Java生成证书 /** Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:** - Redistri…...

C++入门:函数缺省参数与函数重载

目录 1.函数缺省参数 1.1 缺省参数概念 1.2 缺省参数分类 2.函数重载 2.1 函数重载概念 2.2 C支持函数重载的原理 1.函数缺省参数 1.1 缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实 参则采用该形参的…...

Android 场景Scene的使用

Scene 翻译过来是场景&#xff0c;开发者提供起始布局和结束布局&#xff0c;就可以实现布局之间的过渡动画。 具体可参考 使用过渡为布局变化添加动画效果 大白话&#xff0c;在 Activity 的各个页面之间切换&#xff0c;会带有过渡动画。 打个比方&#xff0c;使用起来类似…...

Python tkinter Notebook标签添加关闭按钮元素,及左侧添加存储状态提示图标案例,类似Notepad++页面

效果图展示 粉色框是当前页面&#xff0c;橙色框是鼠标经过&#xff0c;红色框是按下按钮&#xff0c;灰色按钮是其他页面的效果&#xff1b; 存储标识可以用来识别页面是否存储&#xff1a;例如当前页面已经保存用蓝色&#xff0c;未保存用红色&#xff0c;其他页面已经保存用…...

基于web网上订餐系统的设计与实现(论文+源码)_kaic

目录 1绪论 1.1课题研究背景 1.2研究现状 1.3主要内容 1.4本文结构 2网上订餐系统需求分析 2.1系统业务流程分析 2.2消费者用户业务流程分析 2.3商户业务流程分析 2.4管理员用户流程分析消费者用户用例分析 2.5系统用例分析 3网上订餐系统设计 3.1功能概述 3.2订单管理模块概要…...

C#生产流程控制(串行,并行混合执行)

开源框架CsGo https://gitee.com/hamasm/CsGo?_fromgitee_search 文档资料&#xff1a; https://blog.csdn.net/aa2528877987/article/details/132139337 实现效果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37…...

【广州华锐视点】VR线上教学资源平台提供定制化虚拟现实学习内容

虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的在线教学方式。由广州华锐视点开发的VR线上教学资源平台&#xff0c;作为一个综合性的学习工具&#xff0c;正在教育领域迅速发展&#xff0c;并被越来越多的教育机构和学生所接受。那么&#xff0c;VR线上…...

Z-Image-Turbo-rinaiqiao-huiyewunv 模型文件瘦身与加速技巧:Pruning 与 Quantization 初探

Z-Image-Turbo-rinaiqiao-huiyewunv 模型文件瘦身与加速技巧&#xff1a;Pruning 与 Quantization 初探 你是不是也遇到过这样的情况&#xff1a;好不容易找到一个效果惊艳的AI图像生成模型&#xff0c;比如Z-Image-Turbo-rinaiqiao-huiyewunv&#xff0c;兴冲冲地准备部署&am…...

Docker实验5

实验五----Docker编排与部署 本实验按 1 个 manager 节点 2 个 worker 节点 的标准流程进行。Docker Swarm 模式是 Docker Engine 内置的集群编排能力&#xff0c;不需要额外安装单独的编排器 **先把一台 Ubuntu 虚拟机装好 Docker&#xff0c;再关机&#xff0c;用 VMware …...

JESD204B时钟系统解析——从设备时钟到多帧时钟的协同设计

1. JESD204B时钟系统全景解析 第一次接触JESD204B协议时&#xff0c;我被它复杂的时钟系统搞得晕头转向。这个高速串行接口协议之所以难啃&#xff0c;很大程度上就是因为其独特的时钟架构设计。在实际项目中&#xff0c;我遇到过因为时钟配置不当导致数据传输失败的案例&…...

突破4大硬件限制:老旧Windows设备升级Windows 11的3维优化方案

突破4大硬件限制&#xff1a;老旧Windows设备升级Windows 11的3维优化方案 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧设备升级Windows 11的价值解析 在数字化快…...

Stash缓存机制终极指南:5个配置技巧大幅提升媒体访问速度

Stash缓存机制终极指南&#xff1a;5个配置技巧大幅提升媒体访问速度 【免费下载链接】stash An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc 项目地址: https://gitcode.com/gh_mirrors/st/stash Stash是一款用Go语言开发的媒体…...

Qwen3-ASR-0.6B GPU显存优化实践:FP16加载后显存占用仅2.1GB(RTX 4090实测)

Qwen3-ASR-0.6B GPU显存优化实践&#xff1a;FP16加载后显存占用仅2.1GB&#xff08;RTX 4090实测&#xff09; 1. 项目概述 Qwen3-ASR-0.6B是阿里云通义千问团队推出的轻量级语音识别模型&#xff0c;专门为本地化部署设计。这个6亿参数的模型在保持出色识别精度的同时&…...

零基础玩转物联网:借助快马ai生成带详细注释的esp8266wifi连接新手教程代码

最近在折腾物联网项目&#xff0c;发现ESP8266这个WiFi模块特别适合新手入门。作为一个小白&#xff0c;刚开始接触硬件编程时真的是一头雾水&#xff0c;好在发现了InsCode(快马)平台&#xff0c;它能根据自然语言描述直接生成带详细注释的代码&#xff0c;大大降低了学习门槛…...

OpenClaw自动化写作:用nanobot生成技术文档草稿

OpenClaw自动化写作&#xff1a;用nanobot生成技术文档草稿 1. 为什么需要自动化写作助手 作为一个经常需要撰写技术文档的开发者&#xff0c;我长期被两个问题困扰&#xff1a;一是从大纲到完整内容的填充过程耗时费力&#xff0c;二是反复检查格式和语法错误消耗大量精力。…...

论文救星来了!Paperxie AI 毕业论文写作,让本科生告别秃头式赶稿

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 一、开篇&#xff1a;谁懂啊&#xff0c;论文季的痛真的需要被治愈 谁还没在论文季经历过这些崩溃瞬间&#xff1…...

【RL-CISPO】MiniMax-M1: Scaling Test-Time Compute Efficiently with Lightning Attention

note CISPO是2025年6月minimax提出&#xff0c;放到今天还是有价值的。CISPO强化学习&#xff1a; 传统 PPO / GRPO 这类方法&#xff0c;在做 token 级 clipping 时&#xff0c; 会把一些“低概率但很关键”的 token&#xff08;这类token一般是反思、转折、纠错、重新检查等…...